【问题标题】:Installing modules for multiple python versions为多个 python 版本安装模块
【发布时间】:2011-08-24 20:58:12
【问题描述】:

我在同一台机器(Ubuntu 10.0.4)上安装了 python 2.6.6 和 python 2.5.5,因为 2.6 是我的默认版本,而我需要 2.5 来维护旧的东西。 但是我在将模块(MySQLdb 和 net-snmp)安装到非默认 2.5v 时遇到问题。调用 'sudo apt-get install _module_name_' 时,似乎只更新了 2.6。 有没有办法告诉应该安装哪个版本的模块? 提前致谢

【问题讨论】:

  • 您应该使用 virtualenv 而不是全局安装。无论如何,您可以通过 --install-dir 覆盖安装目录并指定所需 python 版本的站点包。

标签: python python-module multiple-versions


【解决方案1】:

您可以使用easy_install。要将它用于特定版本,您只需执行它,例如 sudo python2.5 easy_install package_name

【讨论】:

  • 建议使用 pip 而不是 easy_install,因为 pip 如何与虚拟环境一起玩
  • @Jakob:所描述的情况不是vituralenvpip 仍然不能替代easy_install。例如它不能从.egg 安装。
  • 谢谢。这样我成功安装了各种模块,但我一直卡在 net-snmp-python 上。这个包不在 pypi.python.org 中列出,但它可以在可以找到存储库 (apt-get install net-snmp-python) 以及源代码和 rpm 文件 (net-snmp.org/wiki/index.php/Python_Bindings)。但是,使用带有源代码的 easy_install 失败了,因为 setup.py 不可用。据此:net-snmp.org/wiki/index.php/Python_Bindings包也位于某些python子目录中,但我在Python2.5.5源代码中的任何地方都找不到。
【解决方案2】:

您可以为 2.5 和 2.6 安装 Pip,然后在 bashrc 中创建一个别名,就像我可以做的那样

pip25 install _package_

pip26 install _package_

这样您就可以精确控制模块的安装位置。

【讨论】:

    猜你喜欢
    • 2016-06-12
    • 1970-01-01
    • 2023-03-31
    • 2013-06-21
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    • 2021-07-02
    • 2012-06-10
    相关资源
    最近更新 更多