系统相关
首页 > 系统相关> > 在CentOS上从Python2.4过渡到Python2.6.模块迁移问题

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

作者:互联网

大家好,我遇到了将python从2.4升级到2.6的问题:

我有CentOS 5(完整版)
它在/usr/lib/python2.4/中有python 2.4
其他模块位于/usr/lib/python2.4/site-packages/中

我已经从/usr/local/lib/python2.6/的源代码构建了python 2.6
我已将默认python设置为python2.6
现在,用于2.4的旧模块已脱离pythonpath并“丢失”
特别是,yum损坏了(“没有名为yum的模块”)

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

解决方法:

它们没有损坏,只是没有安装.解决方案是在2.6下安装它们.但是首先我们应该看看您是否真的应该这样做…

是的,Python将在安装后将python命令替换为已安装的版本(除非您使用–alt-install运行它).您没有确切说明问题所在,所以我会猜测.您的问题是许多使用Python的本地命令现在失败了,因为它们是使用Python 2.6而不是Python 2.4执行的.那是对的吗?

如果是这样,则只需删除/usr/local/bin / python,并确保/usr/bin/python是/usr/bin/python2.4的符号链接.然后,您必须输入python2.6才能运行python2,6,但这没关系.那是最好的方法.然后,您只需要安装2.6中所需的软件包即可.

但是,如果我的猜测是错误的,并且您确实需要在2.6下安装所有这些软件包,那么不必太担心.首先,安装setuptools.它包含一个easy_install脚本,然后您可以使用以下命令安装模块

easy_install <modulename>

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

如果模块具有C组件,它将对其进行编译,然后您还需要库头,这将需要更多工作,并且您所能做的就是以标准CentOS方式安装它们.

您不应在版本之间使用符号链接,因为库通常用于特定版本.对于2.4和2.6,我认为.pyc文件是兼容的(但是我不确定100%肯定),因此这可能有效,但是任何使用C的模块都会损坏.其他版本的Python也将具有不兼容的.pyc文件.而且我敢肯定,如果您这样做,大多数Python人士都不会帮助您.

标签:python-2-6,centos,upgrade,linux,python
来源: https://codeday.me/bug/20191210/2102713.html