Fedora Python升级破坏了easy_install

时间:2009-05-29 13:29:39

标签: python fedora easy-install

Fedora Core 9包含Python 2.5.1。我可以使用YUM来获得最新和最好的版本。

为准备进行2.6官方测试,我想从2.5.4开始。似乎没有Fedora 9 YUM包,因为2.5.4不是FC9的官方部分。

我下载了2.5.4,做了./configure; make; make install并且结束了两个Pythons。官方2.5.1(在/usr/bin中)和新的2.5.4。 (在/usr/local/bin)。

/usr/local/lib/python2.5中没有安装任何技术堆栈。

看来我有很多选择继续前进。有人有任何偏好吗?

  • 将/usr/lib/python2.5/*复制到/usr/local/lib/python2.5以复制我的环境。除非某些部分Python库在安装过程中连接了/ usr / bin / python,否则这应该可以工作。这很简单,但是有不足之处吗?

  • 运行easy_install重新安装所有内容。除此之外,easy_install(当前)已连接到/usr/bin/python。所以,我必须首先修复easy_install,然后重新安装所有内容。

    这需要一些时间,但它给了我一个干净,新的最新和最好的环境。但是有不足之处吗? [为什么easy_install会自行硬连接?]

  • /usr/bin/python重新链接为/usr/local/bin/python。我仍然需要复制或重新安装库,所以我不认为这对我有任何好处。 [这将使easy_install起作用;但编辑/usr/bin/easy_install也是如此。]

有没有人复制过他们的图书馆?这么简单吗?

或者我应该修复easy_install并简单地逐步完成安装指南并构建一个新的,干净的,最新的和最好的?


修改

或者,我应该

  • 跳过尝试解决2.5.1和2.5.4问题,直接跳到2.6?

3 个答案:

答案 0 :(得分:4)

通常,您只安装了一个版本的python发行版。由于2.5.1和2.5.4来自同一版本,因此复制库应该可以正常工作。您需要注意的是,您现在在路径中有/ usr / bin / python和/ usr / local / bin / python,并且某些实用程序可能会混淆。

如果您需要同时安装两个微版本,我会将2.5.4完全保留在您的路径之外,或者让它完全破坏另一个(尽管这样做会自行承担风险;) 如果您使用前者,则还可以使用PYTHONPATH环境变量将2.5.4指向您的站点包。

Ubuntu采用不同的路线,这就是你可以处理不同主要版本的方法。 python二进制文件的附加版本为:

/usr/bin/python -> python2.6
/usr/bin/python2.5
/usr/bin/python2.6

每个都有自己的/usr/lib/python2.X目录,其中包含所有模块的版本。

最后,您可以按modifying your site.py

进一步自定义您的设置

答案 1 :(得分:2)

我建议你创建一个virtualenv(或几个)来安装包。

答案 2 :(得分:2)

我在早期版本的ubuntu上安装Python 2.5时有类似的经验和问题,它提供了2.4开箱即用的功能。

我首先尝试修补easy_install,但这导致了任何想要使用os提供的python版本的问题。我经常摆弄工具链来修复每次安装时可能出现的不同错误。通过apt安装任何python软件,或者从安装了python easy_install脚本的apt安装任何软件,这通常很有趣。我确信我可能在修补easy_install时更加警惕,但我放弃了。

相反,我复制了库,一切正常。正如您所说,根据您安装的内容可能会出现问题,但我没有遇到问题。仔细检查Python的site.py模块,我确实看到它完全在相对路径上运行,动态构建绝对路径;这给了我一些尝试“复制一切”方法的信心。我仔细检查了所有.pth文件,然后去了。