【问题标题】:Fedora Python Upgrade broke easy_installFedora Python 升级破坏了 easy_install
【发布时间】:2009-05-29 13:29:39
【问题描述】:

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(/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?

【问题讨论】:

    标签: python fedora easy-install


    【解决方案1】:

    通常,您只会安装一个版本的 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进一步自定义设置

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          猜你喜欢
          • 2015-07-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-10-20
          • 2019-09-27
          • 2014-09-07
          • 2021-03-05
          相关资源
          最近更新 更多