我尝试使用python2.6.4运行一个python脚本。托管公司已经安装了2.4,所以我在一个类似的服务器上编译了自己的2.6.4,然后将文件移到~/opt/python中。那部分似乎工作得很好。在
不管怎样,当我运行下面的脚本时,我得到了ImportError: No module named _sqlite3
,我不知道该怎么做来修复这个问题。在
大多数在线线程都提到sqlite/sqlite3包含在Python2.6中—所以我不确定这是为什么不起作用。在
-jailshell-3.2$ ./pyDropboxValues.py Traceback (most recent call last): File "./pyDropboxValues.py", line 21, in import sqlite3 File "/home/myAccount/opt/lib/python2.6/sqlite3/__init__.py", line 24, in from dbapi2 import * File "/home/myAccount/opt/lib/python2.6/sqlite3/dbapi2.py", line 27, in from _sqlite3 import * ImportError: No module named _sqlite3
我想我已经把目录结构的所有东西都设置好了。在
^{pr2}$最后是sqlite3目录的内容:
-jailshell-3.2$ find `pwd` /home/myAccount/opt/lib/python2.6/sqlite3 /home/myAccount/opt/lib/python2.6/sqlite3/__init__.pyo /home/myAccount/opt/lib/python2.6/sqlite3/dump.pyc /home/myAccount/opt/lib/python2.6/sqlite3/__init__.pyc /home/myAccount/opt/lib/python2.6/sqlite3/dbapi2.pyo /home/myAccount/opt/lib/python2.6/sqlite3/dbapi2.pyc /home/myAccount/opt/lib/python2.6/sqlite3/dbapi2.py /home/myAccount/opt/lib/python2.6/sqlite3/dump.pyo /home/myAccount/opt/lib/python2.6/sqlite3/__init__.py /home/myAccount/opt/lib/python2.6/sqlite3/dump.py
我觉得我需要在sqlite3
目录中添加一些东西——也许是sqlite3.so?但我不知道从哪弄来的。在
我做错什么了?请记住,我使用的是共享主机,这意味着在另一台服务器上安装/编译,然后复制这些文件。谢谢!:)
更新 只是想确认@samplebias的答案确实很好。我需要将dev包安装在我正在编译的机器上,以便将它添加到sqlite3.so和相关文件中。也发现答案中的链接很有帮助。谢谢@samplebias!在
一般来说,首先要问你的主人。SQLite没有安装(或安装正确),我觉得有点奇怪。所以如果你问他们,他们很可能会很快解决问题。在
Python的构建系统uses a setup.py file to compile all of the native extensions,包括sqlite3。它在常见的操作系统路径中搜索sqlite3 include和library dir。如果没有安装sqlite3开发包,Python将跳过编译}包的纯Python部分仍将被安装。在
_sqlite3.so
扩展,但是{在编译Python和运行时,需要安装操作系统的sqlite3开发包:}。在
sqlite3-devel
,在Centos上是libsqlite3-0
和{下面是我的Ubuntu系统上
_sqlite3.so
扩展链接的一个例子:对于python2.4,您需要sqlite和绑定,pysqlite 2或{a2}
相关问题 更多 >
编程相关推荐