【问题标题】:Installing python packages with multiple versions on OSX在 OSX 上安装多个版本的 python 包
【发布时间】:2014-10-15 07:56:09
【问题描述】:

我正在尝试在 Mac OSX 10.9.4 上安装 python3.4 软件包。如您所知,python 随 OSX 一起提供,所以当我安装 python3.4 时,我很高兴地发现它附带了自己的 pip 版本,这将安装软件包(在具有多个 python 版本的 mac 上安装 pip 会导致它安装在系统的python2.7上。)

我之前曾尝试在我第一次安装 pip(与 python2.7 绑定的那个)时安装此软件包 (https://pypi.python.org/pypi/chrome/0.0.1),发现它成功安装在该版本上,但没有成功安装在任何其他版本上。

我使用 python3.4 的新 pip 关键字运行了安装(当它自己调用时会吐出帮助页面,所以我知道它可以工作),它告诉我包已经安装并尝试更新。更新显示我已经拥有最新版本。所以我尝试从python3.4卸载它并重新安装无济于事,并且从python2.7卸载pip并仅在3.4版本上重新安装时得到了相同的结果。

我知道这有点难以理解,但希望这是有道理的。

我还审核了here的内容,没有成功。

已解决:

虽然 python 确实有一个与它用于包的目录同名的目录,但这不是正确的目录,对我来说它位于 library 的子目录中。虽然文档说引用 pip2 会导致包安装在 python3.4 上,但这是错误的。但是,引用 pip3.4 对我有用。

【问题讨论】:

  • 你应该看看 virtualenv 和 virtualenvwrapper。
  • 你为什么关心python2.7版本是否也安装了包?如果它已经安装,为什么要尝试卸载-重新安装?有什么问题?
  • 问题不在于它安装在 2.7 上,而在于它没有安装在 3.4 上。我一直在使用 virtualenv(根据 awnser),但到目前为止它还没有工作。

标签: python macos python-2.7 python-3.x pip


【解决方案1】:

我的建议是你开始使用 virtualenv。

假设你已经安装了 3.4,那么你也应该有 pyvenv。至于 pip 和 3.4,应该已经安装好了。

例如使用 3.4 版创建您自己的虚拟环境并激活它:

$ mkdir ~/venv
$ pyvenv-3.4 ~/venv/py34
$ source ~/venv/py34/bin/activate
$ deactive                     # does what is says...
$ source ~/venv/py34/bin/activate
$ pip install ...  # whatever package you need

在 2.7 版本中,首先安装 virtualenv,然后创建自己的虚拟环境并激活它。确保 setuptools 和 pip 已更新:

$ virtualenv-2.7 ~/venv/venv27
$ . ~/venv/venv27/bin/activate
$ pip install -U setuptools
$ pip install -U pip
$ pip install ...  # whatever package you need

【讨论】:

  • 我需要 virtualenv python2.7 才能在 3.4 上安装软件包吗?因为我为python3.4设置了virtualenv并安装了包,但是导入时它仍然无法识别包。 (我也尝试了两个 pip 关键字)
  • 激活特定的 virtualenv 将设置一个或多或少独立于其他环境和系统范围安装的环境。你不需要任何 2.7 的东西来运行你的 3.4 的东西。你能给出从激活到安装和包导入的完整命令序列来演示你的问题吗?
  • 当然。我首先按照您关于为 python3.4 制作 virtualenv 的说明开始。它顺利进行,我能够 pip 安装软件包。一切都很顺利,直到我加载了 python 解释器并尝试导入它无法识别的包。我做了一些谷歌搜索以确保我已经设置了 virtualenv,并按照this 指南设置了 virtualenv。我在两个版本的python上都安装了它,但无济于事。
  • 对于 chrome,它在 3.4 中安装不干净。我收到模块“应用程序”的导入错误:ImportError: No module named 'application'。
  • 我得到了同样的错误。有什么办法吗?还是我被卡住了?
猜你喜欢
  • 2016-10-13
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 2020-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多