当我跑步时
python3 -m pip install pyspatialite
我收到以下错误:
Collecting pyspatialite
Using cached https://files.pythonhosted.org/packages/cc/2a/ffb126f3e8890ab0da951a83906e54528a13ce4b913303dea8bed904e160/pyspatialite-3.0.1-alpha-0.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-14jnmfoo/pyspatialite/setup.py", line 66
print "Is sphinx installed? If not, try 'sudo easy_install sphinx'."
^
SyntaxError: Missing parentheses in call to 'print'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-14jnmfoo/pyspatialite/
我不明白这个问题。 PySpatiaLite模块中是否存在语法错误?我该怎么办呢?
我在Windows 10中使用Python 3.5和Linux Bash Shell。如果需要任何其他信息,请在评论中告诉我,我将编辑问题。
答案 0 :(得分:1)
似乎它是python 3中的一个已知问题: https://github.com/lokkju/pyspatialite/issues/27
答案 1 :(得分:1)
print "Is sphinx installed? If not, try 'sudo easy_install sphinx'."
似乎这个库是用Python 2.7编写的,因为它们使用的是Python 2 print语句。当pip3运行库setup.py时,您收到错误:
SyntaxError: Missing parentheses in call to 'print'
完全可以预期正确的Python 3语法:
print("Is sphinx installed? If not, try 'sudo easy_install sphinx'.")
您可以切换到Python 2.7以编写与此接口的代码,或者联系贡献者以获取帮助。看看他们关于PyPi(https://pypi.org/project/pyspatialite/)的文档,看起来该项目仍处于Alpha状态,并且自2013年以来一直没有使用新版本进行更新。我不会期望在不支持源代码的情况下兼容Python 3并自己纠正。
修改强>
查看GitHub提交(https://github.com/lokkju/pyspatialite/commits/master)自2013年以来已经合并了少量提交,但我仍然不希望Python 3支持。