2014-10-27 171 views
0

我想在python 3.2上安装一个模块,但是我无法安装。我正在使用Windows 7.我需要仅在Python 3.2上安装该模块,因此适用于其他版本的Python的解决方案对我没有帮助(我在Python 2.7或3.3,3,3安装模块时没有问题)我摆脱了我所有其他版本的Python,因为我认为这可能是问题。用Python 3.2安装geopy时遇到困难

我已经尝试使用pip安装,并且手动安装软件包,两者都不起作用。乍一看,它看起来像我正确安装setuptools和pip。下面是我尝试安装pip时得到的输出结果

Installed c:\python32\lib\site-packages\setuptools-7.0-py3.2.egg 
Processing dependencies for setuptools==7.0 
Finished processing dependencies for setuptools==7.0 
PS C:\> python32 .\get-pip.py 
Requirement already up-to-date: pip in c:\python32\lib\site-packages 
Cleaning up... 
PS C:\> pip install geopy 

看起来不错,对吗?

然后,当我试图通过进入pip install geopy这里用的是输出我得到

pip: the term PIP is not recognized as the name of a cmdlet, function or operable program等我确信,蟒蛇3.2路径环境中指定,并卸载了蟒蛇的所有其他版本。我不知道我还能做什么?

我也尝试手动安装geopy。我去了github上的geopy页面,并按下了“下载ZIP”。然后我将这个文件夹解压到python32的lib/site-packages目录中。当我尝试使用setup.py进行安装时(python32 setup.py install)以下是我得到的错误消息。我不知道这是什么错误消息意味着

Traceback (most recent call last): File "setup.py", line 6, in <module> from geopy import __version__ as version File "C:\python32\lib\site-packages\geopy-master\geopy\__init__.py", line 10, in <module> from geopy.location import Location File "C:\python32\lib\site-packages\geopy-master\geopy\location.py", line 21 def __init__(self, address=u"", point=None, raw=None):

回答

0

更新:为Python 3.2 GeoPy 1.6.0推出的支持,所以更新它,它应该安装和工作。


老答案:

这是geopy一个bug,和/或它不支持的Python 3.2。在这个Python版本中,字符串不能以u"the string"的形式出现,因为它是一个SyntaxError。对于Python 3.3,这已修复为PEP-414

尽管您可以安装该软件包,但geop的快速修复方法是编辑已安装的文件以删除几个模块文件中的u,例如“C:\ python32 \ lib \ site-packages \ geopy-master \ geopy \ location.py“(如你的问题所示)。

例如:

  • 变化address=u""address=""
  • 变化signature_method=u"HMAC-SHA1"signature_method="HMAC-SHA1"
  • 另外注意单引号的变化,例如u'the string'