如何为Python 2.4构建sqlite?
我想在Python和SQLite数据库之间使用pysqlite接口。我电脑上已经安装了Python和SQLite。但是在安装pysqlite的时候遇到了麻烦。安装时出现了以下错误信息:
错误:命令'gcc'失败,退出状态为1
根据我的理解,这个问题是因为我的Python版本是2.4.3,而SQLite从2.5版本开始就已经集成在Python里了。不过,我也发现其实是可以为Python 2.4构建sqlite的(可能需要一些技巧)。
有没有人知道怎么为Python 2.4构建sqlite?
另外一个选择是我可以尝试安装更高版本的Python。但是我没有管理员权限。有没有人知道解决这个问题的最简单方法是什么(是为Python 2.4构建SQLite,还是安装更新版本的Python)?我还得提一下,我不想覆盖掉旧版本的Python。
提前谢谢大家。
4 个回答
如果你没有管理员权限,我建议你在自己的用户目录下安装一个更新版本的Python,然后把这个本地版本添加到你的PATH
里。这样做似乎比试图让sqlite在旧版本的Python上运行要简单得多。
而且,使用更新版本的Python对你也有好处,因为你可以享受到这个语言最近的许多改进。
在这里下载 pysqlite 这个链接,然后进入你下载的文件夹,解压这个压缩包:
$ tar xzf pysqlite-2.5.5.tar.gz
接下来只需要执行这个命令(前提是你的权限设置正确;如果不行,可能需要加上 sudo
):
$ cd pysqlite-2.5.5
$ python2.4 setup.py install
在输出的信息中会出现一个错误:
File "/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/pysqlite2/test/py25tests.py", line 48
with self.con:
^
SyntaxError: invalid syntax
因为很明显这个文件只是用于 py 2.5 的测试(with
语句在 2.4 中是没有的!)。不过安装还是成功了:
$ python2.4 -c'import pysqlite2'
$
以上内容是在 Mac OS X 10.5 上进行的,但使用的是单独安装的 python2.4,而不是系统自带的 Python 2.5。
你报告的错误信息并没有提供太多有用的信息——也许你缺少 sqlite 本身的头文件或库?能不能把那个错误信息周围的其他输出行也给我们看看…?
你可以把Python下载并安装到你的家目录里。
$ cd
$ mkdir opt
$ mkdir downloads
$ cd downloads
$ wget http://www.python.org/ftp/python/2.6.2/Python-2.6.2.tgz
$ tar xvzf Python-2.6.2.tgz
$ cd Python-2.6.2
$ ./configure --prefix=$HOME/opt/ --enable-unicode=ucs4
$ make
$ make install
然后,如果你使用的是bash,在你的.bash_profile文件里做以下设置:
export PATH=$HOME/opt/bin/:$PATH
export PYTHONPATH=$HOME/opt/lib:$HOME/opt/lib/site-packages:$PYTHONPATH
接着,执行这个文件,让它生效。
$ cd
$ source .bash_profile
$ python -V
你可以通过输入python -V来查看Python的版本。如果显示的是正确的版本,那么任何你用Python的setup.py工具运行的包(假设开发者遵循了正确的规范)都会安装到~/opt/lib/python2.x/site-packages这个目录里。