0

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了两个 Python。官方 2.5.1 (in /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?
4

3 回答 3

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 目录,其中包含所有模块的版本。

最后,您可以通过修改 site.py来进一步自定义设置

于 2009-05-29T22:24:10.807 回答
2

在提供开箱即用的 2.4 的旧版本 ubuntu 上安装 Python 2.5 时,我有类似的经历和问题。

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

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

于 2009-05-29T15:35:51.637 回答
2

我建议您创建一个(或多个)virtualenv 来将软件包安装到其中。

于 2009-05-29T13:37:07.927 回答