找不到Pip包 - 使用Brew安装的Python
我在Mac上运行的是Python 2.7.3,是通过HomeBrew安装的。
我用PIP安装了几个包,包括virtualenv。(这里以virtualenv为例,但其实没有一个包能正常工作。)
当我在终端运行这些包时,出现了以下错误:
$ virtualenv venv --distribute
-bash: virtualenv: command not found
另外:
$ python virtualenv.py venv
/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: can't open file 'virtualenv.py': [Errno 2] No such file or directory
还有一些其他可能有帮助的点:
$ which python
/usr/local/bin/python
$ pip freeze
MySQL-python==1.2.4
...
virtualenv==1.8.4
$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
$ echo $PYTHONPATH
/usr/local/lib/python2.7/site-packages:
默认情况下,$PYTHONPATH是空的,我在.bash_profile中进行了修改(但没有效果)。VirtualEnv确实存在于那个路径下。我还尝试将这个路径添加到.profile的$path中,但也没有帮助,所以我把它删掉了。
在HomeBrew Python页面上似乎和这个有点关系,但我对Python还很陌生,搞不清楚。花了几个小时在DuckDuckGo上搜索,但没有找到任何有用的信息。
任何帮助都将非常感谢。
编辑:更新了实际使用情况。
3 个回答
创建虚拟环境的快速流程
$ mkdir awesomeapp
$cd awesomeapp
$virtualenv venv --distribute
New python executable in venv/bin/python
Installing distribute.........done.
Installing pip................done.
$source venv/bin/activate
(venv)$python
当你进入你的文件夹后,就可以开始创建一个虚拟环境文件夹,用来存放你的路径。
当你看到(venv)这个标记时,就说明虚拟环境已经激活了。
如果你的系统没有提供 virtualenv
命令,可以先下载 virtualenv.py
:
curl -L -o virtualenv.py https://raw.github.com/pypa/virtualenv/master/virtualenv.py
首先,创建一个虚拟环境的文件夹:
python virtualenv.py venv # venv <-- name of the folder
接下来,你需要在命令行中运行虚拟环境的激活命令:
. venv/bin/activate
或者
source venv/bin/activate
这样可以修复 PYTHONPATH 和 PATH。每次打开命令行时都需要做一次。然后 python 命令就能正常工作了 :)
现在运行 pip,软件包会安装在虚拟环境中。
更多信息(免责声明,我是作者) http://opensourcehacker.com/2012/09/16/recommended-way-for-sudo-free-installation-of-python-software-with-virtualenv/
问题在于我没有把Python添加到系统的$PATH里。
在使用brew安装结束时,它会提示你(可以通过输入 brew info python
来查看):
Executable python scripts will be put in:
/usr/local/share/python
so you may want to put "/usr/local/share/python" in your PATH, too.
所以,我只需要打开.profile文件,把它粘贴进去,所有的包就都能正常工作了。
非常感谢MistyM在Brew的IRC频道提醒我这一点!