无法在python3和sqlite3上安装pyspatialite

3 投票
1 回答
1696 浏览
提问于 2025-04-18 16:37

我无法安装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。(我个人会看看需要的修改是否足够简单,这样我可以在几个小时内提交一个修改请求)。

撰写回答