首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在CentOS上从Python2.4到Python2.6的过渡,模块迁移问题

在CentOS上从Python2.4到Python2.6的过渡,模块迁移问题
EN

Stack Overflow用户
提问于 2009-07-04 06:59:06
回答 4查看 6.8K关注 0票数 3

我在将python从2.4升级到2.6时遇到了一个问题:

我有CentOS 5 (Full)。它的python2.4位于/usr/lib/python2.4/中。其他模块位于/usr/lib/python2.4/site-package/中。我从/usr/local/lib/python2.6/上的源代码构建了python2.6。我已经将默认python设置为python2.6。现在2.4的旧模块已经不在pythonpath中,并且已经“丢失”了。特别是,yum被破坏了(“没有名为yum的模块”)。

那么,将模块迁移/安装到python2.6的正确方法是什么呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-07-04 09:46:06

它们并没有损坏,只是没有安装而已。解决方案是将它们安装在2.6版本下。但首先我们应该看看你是否真的应该这么做...

是的,Python在安装时会将python命令替换为已安装的版本(除非您使用--alt-install运行它)。你没有确切地说出你的问题是什么,所以我来猜猜。您的问题是,许多使用Python的本地命令现在都失败了,因为它们在Python2.6中执行,而不是在Python2.4中执行。对吗?

如果是这样,那么只需删除/usr/local/bin/python,并确保/usr/bin/python是指向/usr/bin/python2.4的符号链接。然后,您必须输入python2.6才能运行python2,6,但这是可以的。这是最好的方法。然后你只需要在2.6中安装你的所需要的包。

但是如果我的猜测是错的,你真的需要在2.6版本下安装所有这些包,那么不要太担心。首先,安装setuptools。它包含一个easy_install脚本,然后可以使用以下命令安装模块

代码语言:javascript
复制
easy_install <modulename>

它将从pypi.python.org下载该模块并进行安装。它还将安装任何依赖的模块。easy_install可以安装任何使用distutils作为安装程序的模块,这将使安装90%的模块变得轻而易举。

如果模块有一个C组件,它将编译它,然后你也需要库头,这将是更多的工作,你所能做的就是以标准的CentOS方式安装它们。

您不应该在版本之间使用符号链接,因为库通常是针对特定版本的。对于2.4和2.6,我认为.pyc文件是兼容的(但我不是百分之百确定),所以这可能会起作用,但任何使用C的模块都会崩溃。而其他版本的Python也会有不兼容的.pyc文件。我敢肯定,如果你这么做了,如果你这么做了,大多数Python人都不会帮你。;-)

一般来说,我会尽量保持系统python的“整洁”,也就是说,我不会安装任何没有和打包工具一起安装的东西。相反,我使用virtualenv或buildout让每个应用程序都有自己的python路径,其中包含它的依赖项。因此,我的每个项目基本上都有自己的一组库。这样会变得更容易。

票数 3
EN

Stack Overflow用户

发布于 2009-07-04 07:04:44

有几个选择...

  1. 如果这些模块将在Python2.6下运行,您可以简单地创建从2.6站点包目录到2.4站点包目录的符号链接。
  2. 如果它们不能在2.6下运行,那么您可能需要在2.6下重新编译它们,或者安装它们的最新版本。只需确保在调用"python setup.py"

时使用的是2.6版本

..。

如果你遇到其他挑战,你可能想把这篇文章发布到serverfault.com上。

票数 0
EN

Stack Overflow用户

发布于 2009-07-04 11:40:09

一些Python库可能仍然无法访问,因为在Python2.6中,site-packages被更改为dist-packages

在这种情况下,唯一的方法是将站点包中生成的所有内容(例如由make install生成)移动到dist包中,并创建一个sym-link。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1081698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档