找不到Pip包 - 使用Brew安装的Python

19 投票
3 回答
11403 浏览
提问于 2025-04-17 14:18

我在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 个回答

-1

创建虚拟环境的快速流程

$ 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)这个标记时,就说明虚拟环境已经激活了。

0

如果你的系统没有提供 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/

34

问题在于我没有把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频道提醒我这一点!

撰写回答