无法在python3和sqlite3上安装pyspatialite
我无法安装pyspatialite。当我尝试安装时,出现了这个错误:
pip install pyspatialite
Downloading/unpacking pyspatialite
Could not find a version that satisfies the requirement pyspatialite (from versions:
2.6.2-spatialite.2.3.1, 2.6.2-spatialite.2.4.0-4, 3.0.1-alpha-0)
Cleaning up...
No distributions matching the version for pyspatialite
Storing debug log for failure in /home/jenia/.pip/pip.log
我在虚拟环境中安装的Python解释器是3.4.1。
当我明确运行以下命令时:
pip install pyspatialite==2.6.2-spatialite.2.4.0-4
我得到了这个结果:
Running setup.py (path:/home/jenia/pip/app/build/pyspatialite/setup.py) egg_info for package pyspatialite
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "/home/jenia/pip/app/build/pyspatialite/setup.py", line 83
print "Is sphinx installed? If not, try 'sudo easy_install sphinx'."
^
SyntaxError: invalid syntax
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "/home/jenia/pip/app/build/pyspatialite/setup.py", line 83
print "Is sphinx installed? If not, try 'sudo easy_install sphinx'."
^
SyntaxError: invalid syntax
----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /home/jenia/pip/app/build/pyspatialite
Storing debug log for failure in /home/jenia/.pip/pip.log
有没有人知道怎么解决这个错误吗?
提前感谢大家的时间和关心。
Jenia。
1 个回答
1
我简单看了一下这个问题(我自己也遇到过同样的问题),结果消息不太好。
原来,pysqlite的安装脚本根本不支持Python3,这主要是因为一些很简单的原因。在这种情况下,你看到的错误和这行代码有关,这是一条打印语句,而这条语句在Python3中已经被弃用了,现在应该用打印函数来替代。
所以你看到的错误(其实我也看到了)实际上是setup.py脚本中的一个语法错误。这真是太遗憾了,因为在这种情况下,只需要对一个已经弃用的语法做个简单的修改就可以了,而这个语法已经弃用快6年了。
不过,这可能不是这个包中唯一一个不支持Python3的地方,所以现在可以说pysqlite不支持Python3。(我个人会看看需要的修改是否足够简单,这样我可以在几个小时内提交一个修改请求)。