所以我听说了通过为每个项目创建一个新的虚拟环境来将包安装到 python 中的正确方法。在 Mac (10.8) 上,我使用 Homebrew 安装了 python3 ,然后我在这个副本上安装了 pip 和 virtualenv。
问题来了: 我创建了一个新的 virtualenv,并使用以下方法激活它:
virtualenv testing
source testing/bin/activate
当我打字时
which python
/Users/mik/Desktop/testing/bin/python
但是打字
which pip
/usr/local/bin/pip
(在尝试在虚拟环境中安装软件包时了解到这一点,并将其安装在/usr/local/中的系统范围安装中)
testing文件夹内没有引用pip的文件
附加问题:pip如何知道将文件安装到哪个python,例如pip list(我相信是指python 2.7)输出包的名称安装在 python 3.3 上
请您参考如下方法:
我将从最后一个问题开始,因为它解释了正在发生的事情。
命令 pip 和 easy_install 是可在文件系统上执行的 python 脚本。他们使用的 python 是第一行告诉运行脚本的 python。例如在/usr/bin/easy_install 中是 #!/usr/bin/python 这将是 Apple 的 python。所以 easy_install 将安装 2.7 版本的 pip 和 virtualenv 并忽略你的 python3.3 设置。
安装python 3的方法是安装3.3版本的pip和virtualenv,最简单的方法是为它们安装Homebrew包。我认为只使用一个包管理器(这里是 Homebrew)而不是两个(即 Homebrew 和 python)会更容易,也不会造成混淆。
您也可以直接安装easy_install。这样做的方法是使用 python3.3 显式安装分发包。
Python 3.4 将使这变得容易得多 pip will always be available
