0

我想在 Python 和 sdlite 数据库之间使用 pysqlite 接口。我的电脑上已经有 Python 和 SQLite。但是我在安装 pysqlite 时遇到了麻烦。在安装过程中,我收到以下错误消息:

错误:命令“gcc”失败,退出状态为 1

据我了解,出现问题是因为我的 Python 版本是 2.4.3,而 SQLite 从 2.5 开始就集成在 Python 中。但是,我还发现可以为 Python 2.4 构建 sqlite(可能使用一些技巧)。

有人知道如何为 Python 2.4 构建 sqlite 吗?

作为另一种选择,我可以尝试安装更高版本的 Python。但是我没有root权限。有谁知道解决问题的最简单方法是什么(从 Python 2.4 构建 SQLite,或者安装更新版本的 Python)?不得不提的是,我不想覆盖旧版本的 Python。

先感谢您。

4

4 回答 4

1

您可以下载 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 util 运行的任何包(假设开发人员遵循正确的约定)都将安装在 ~/opt/lib/python2.x/site-packages 目录中。

于 2009-09-21T17:16:00.150 回答
1

在这里下载pysqlite ,cd到你下载到的目录,解压tarball:

$ 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 测试(with2.4 中不存在语句!-)。不过安装成功:

$ python2.4 -c'import pysqlite2'
$

所有这些都在 Mac OS X 10.5 上,但使用与系统提供的 Python 2.5 分开安装的 python2.4。

您报告的错误并没有告诉我们太多——也许您缺少 sqlite 本身的标头或库?您能否向我们展示围绕该单个错误消息的其他输出行...?

于 2009-09-21T17:19:01.220 回答
0

我遇到了 gcc 在 Ubuntu Karmic 上失败的问题。我通过安装 python-dev 包解决了这个问题。就我而言,我正在使用 python2.4,所以我安装了 python2.4-dev 包。python-dev 包应该适用于 python2.6。

于 2010-05-10T18:20:56.533 回答
0

如果您没有 root 权限,我建议您在主目录中安装更新版本的 Python,然后将本地版本添加到您的PATH. 朝着这个方向前进似乎比尝试让 sqlite 与旧版本的 Python 一起工作更容易。

使用最新版本的 Python 也会对您有所帮助,因为您可以访问该语言的众多最新改进。

于 2009-09-21T17:15:01.323 回答