0

我真的对 virtualenv 如何处理包感到困惑。我在 OSX 上并安装了带有 Homebrew 的 python2 和 3,然后是pip install virtualenv.

在终端:

cd Virtualenv/MyTestEnv
. bin/activate
pip install numpy

将 numpy 安装到我的 virtualenv 文件夹中,只有当我在该 env 中运行我的程序时才能访问该文件夹。根据我的阅读,它通过修改系统$PATH来做到这一点。但是,当我尝试使用 numpy 运行程序时,我不能:

(MyTestEnv)___________________
| ~/desktop/Python @ My-MBP (chronologos) 
| => ./wordsrt.py
Traceback (most recent call last):
  File "./wordsrt.py", line 2, in <module>
    import numpy
ImportError: No module named numpy

该程序只有两行:

#!/usr/bin/env python
import numpy

当我做pip listnumpy 时显示为已安装?是hashbang的问题吗?帮助将不胜感激!

4

2 回答 2

1

这就是问题:

#!/usr/bin/env python

另一种从 virtualenv 运行 python 对我来说更自然的方法是

MyTestEnv/bin/python wordsrt.py

试试这个。

于 2014-01-22T01:59:11.100 回答
0

我设法解决了我的问题。

首先,我修改了我的 bashrc 以仅在 virtualenv 开启时允许 pip:

# pip should only run if there is a virtualenv currently activated
export PIP_REQUIRE_VIRTUALENV=true
# cache pip-installed packages to avoid re-downloading
export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache
syspip(){
   PIP_REQUIRE_VIRTUALENV="" pip "$@"
}

然后为了确保用户安装的二进制文件优先,我将它添加到我的 bash_profile export PATH=/usr/local/bin:$PATH

于 2014-01-22T01:59:01.810 回答