我正在尝试安装pysqlite并遇到麻烦。我发现最可能的原因是缺少sqlite标头,因此我必须安装它们。我的平台:CentOS 5.3版(最终版)。我有Python 2.6.2。
我还发现我需要.rpm文件。就我所拥有的我执行:
rpm -i sqlite3-devel-3.n.n.n.rpm
一切都会好起来的。
但是,我不知道在哪里可以找到sqlite3-devel-3.n.n.n.rpm文件。它应该已经在我的系统上吗?我无法通过“ locate sqlite3-devel-3”找到它。我应该下载这个文件吗?如果是,我在哪里可以找到它,应该使用哪个版本?我的意思是,.rpm文件应该与我在计算机上拥有的sqlite版本一致?如果是这种情况,如何找到我的sqlite版本?
如果键入“从pysqlite2从dbapi2导入为sqlite”,则会得到:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named pysqlite2
“ yum search pysqlite”为我提供了以下内容:
Loaded plugins: fastestmirror
Excluding Packages in global exclude
list Finished
==== Matched: pysqlite ==== python-sqlite.x86_64 : Python bindings
for sqlite.
顺便说一下,我有以下目录:
/home/myname/opt/lib/python2.6/sqlite3
而且我有以下文件:
dbapi2.py dbapi2.pyc dbapi2.pyo
dump.py dump.pyc dump.pyo
__init__.py __init__.pyc __init__.pyo test
如果我键入“导入unittest”,然后“将sqlite3导入为sqlite”,则会得到:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/myname/opt/lib/python2.6/sqlite3/__init__.py", line 24, in <module>
from dbapi2 import * File "/home/myname/opt/lib/python2.6/sqlite3/dbapi2.py",
line 27, in <module>
from _sqlite3 import * ImportError: No module named _sqlite3
先感谢您。
最佳答案
您可以使用buildout创建项目的本地化版本。这将安装所有必需的软件包,而无需对服务器进行sudo访问。
要尝试,请执行以下操作:
mkdir tmp
cd tmp
wget http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py
python bootstrap.py init
vim buildout.cfg
编辑buildout.cfg并将其替换为以下内容:
[buildout]
parts = sqlite
[sqlite]
recipe = zc.recipe.egg
eggs = pysqlite
interpreter = mypython
现在,运行./bin/buildout重建项目。这将下载所有必要的程序包并为您创建一个新的解释器,您可以使用测试来访问sqlite。
./bin/buildout
./bin/mypython
>>> import sqlite3
这为您提供了可用于内部开发的受控环境。
要了解有关构建的更多信息,您可以在Setuptools,Distutils和Buildout上观看pycon 2009的视频。
Eggs and Buildout Deployment in Python - Part 1
Eggs and Buildout Deployment in Python - Part 2
Eggs and Buildout Deployment in Python - Part 3
祝好运
关于python - 我应该如何处理软件包?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1471567/