在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