我真的对Virtualenv如何处理软件包感到困惑。我在OSX上,安装了python2和3和3的Homebrew,然后是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 list
时,numpy显示为安装?哈希邦有问题吗?帮助您将不胜感激!
这是问题:
#!/usr/bin/env python
另一种从虚拟的方法对我来说更自然的是
MyTestEnv/bin/python wordsrt.py
尝试这个。
我设法解决了我的问题。
首先,我将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