2009-09-21 18 views
0

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

error: command 'gcc' failed with exit status 1

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

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

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

预先感谢您。

+1

pysqlite在2.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_profile(如果你使用bash)做

export PATH=$HOME/opt/bin/:$PATH 
export PYTHONPATH=$HOME/opt/lib:$HOME/opt/lib/site-packages:$PYTHONPATH 

然后,源文件,以使其可

$ cd 
$ source .bash_profile 
$ python -V 

其中蟒蛇-V将返回python版本。如果出现正确的版本,则使用Python的setup.py util运行的任何软件包(假定开发人员遵循正确的约定)将安装到〜/ opt/lib/python2.x/site-packages目录中。

0

如果您没有root权限,我会建议您在主目录中安装更新版本的Python,然后将您的本地版本添加到您的PATH。朝着这个方向走,似乎比试图让老版本的Python能够运行sqlite更容易。

您还将使用最新版本的Python来帮助自己,因为您可以访问该语言中的许多最新改进。

1

下载pysqlite here,cd到你下载到的目录,解压压缩包:

$ 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本身的头文件或库?你可以向我们展示围绕单一错误消息的其他输出行...?

0

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