多个版本Python之间的模块管理

4 投票
2 回答
2222 浏览
提问于 2025-04-16 11:47

我在我的Linux机器上有Python2.6.5和Python2.4.4两个版本。

目前,我所有的模块(比如wx、ply、pyserial、twisted等等)都是为Python2.6版本安装的。如果我在Python2.4中尝试import wx,就会出现没有这个模块的错误。

问题是,我有很多设备(假设有一千多个)都在运行2.4.4版本,之后这些设备需要在这台机器上得到支持(用于代码构建、发布等)。到现在为止,我一直在用一台EeePC(和我支持的设备是同款)来进行构建和发布,这样做效果很好。(我在2.6的机器上开发,然后在EeePC上构建)。

我该如何让这些模块在Python2.4上工作呢?我尝试过重新安装(把2.4设为主版本),但这只导致了错误。我找到的博客和答案都说要用easy_install,但它不支持我需要的那些包(或者说,我尝试时它就挂掉了)。

简而言之:我现在在用Python 2.6,但我希望所有模块都能支持2.4,因为我将要使用这个版本。

2 个回答

3

不要尝试去共享它们;虽然纯Python模块有可能成功,但C模块是没办法工作的。正确的做法是使用合适的解释器来安装它们,比如用 python2.4 setup.py install 这个命令。

5

你不能在不同版本的Python之间共享模块。如果你想在Python 2.4中使用wxPython,你需要为Python 2.4单独安装它。

你提到你尝试把Python 2.4作为你的“主要”版本来安装。我不太明白这是什么意思。你需要通过运行Python 2.4的安装程序来安装wxPython,像这样:

$sudo /usr/bin/python2.4 setup.py install

或者类似的方式。

你也可以使用easy_install来安装,但这样的话你需要先为Python 2.4安装Distribute。你有这样做吗?

我最近在我的博客上写了一篇关于这个的详细解释:http://regebro.wordpress.com/2011/02/02/newbie-hint-on-installing-python-and-its-modules-and-packages/

撰写回答