0

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

我已经尝试过使用 pip install 和手动安装包,但都不起作用。乍一看,我似乎正在正确安装 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 termpipis not recognized as the name of a cmdlet, function or operable program等。我确保在路径环境中指定了 python 3.2,并卸载了所有其他版本的 python。我不知道我还能做什么?

我也尝试手动安装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):

4

1 回答 1

0

更新: GeoPy 1.6.0 引入了对 Python 3.2 的支持,所以更新它,它应该可以安装和工作。


老答案:

这是geopy的一个错误,和/或它不支持 Python 3.2。在此 Python 版本中,字符串不能采用 形式u"the string",因为它是 SyntaxError。这已通过 Python 3.3 的PEP-414修复。

虽然您可以安装该软件包,但 geopy 的一个快速修复方法是编辑已安装的文件以删除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'

等等

于 2014-10-28T03:53:57.397 回答