蟒蛇

2010-01-18 158 views
1

的本地安装我想安装Python我的本地direcotory:当我导入sqlite3的我得到以下蟒蛇

./configure --prefix=/home/alex/local-install && make && make install 

ImportError: No module named _sqlite3 

的原因:没有在任何_sqlite3.so /home/alex/local-install/lib/python2.6/lib-dynload。

我如何强制python建立绑定为sqlite和其他库(例如zlib)?

P.S.顺便说一句:如果我安装sqlite3到我的本地目录/ home/alex/local-install安装python之前 - 导入sqlite3工作正常。这可能是一个解决方案:但在这种情况下,我必须手动安装很多我想用python绑定的库。 Brrrrr: - [

回答

3

您需要为python构建可以找到它们的地方安装sqlite的开发头文件和库。你没有说你有什么操作系统。在Linux上,您通常必须安装额外的-dev [el]软件包才能针对库进行构建。

+0

非常感谢!我已经安装了sqlite3-dev并解决了这个问题。一般来说,我想在我的kubuntu机器上编译python,然后将二进制文件移动到虚拟共享主机。会不会出现图书馆版本不匹配的问题? – alexdup 2010-01-18 21:10:40

+0

这取决于该项目,但通常会发生小版本更改,以保留ABI和主版本号更新以需要重新编译。如果通过“虚拟共享主机”,您的意思是一个虚拟根服务器,您可以在其中自行安装开发包,那么我肯定会在该机器上重新编译以避免出现此类问题。 – bobince 2010-01-18 21:37:18

+0

@alexdup通常,您可能希望在chroot或类似环境中构建二进制文件,以便与您部署的环境相匹配。通常很容易设置并且完全值得避免的麻烦。 – 2010-01-18 21:37:49