19

在 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'ing 一无所获。

任何帮助将不胜感激。

编辑:更新以反映实际使用情况。

4

3 回答 3

34

问题是我没有将 Python 添加到系统 $PATH 中。

在 brew install 结束时,它说(可通过键入查看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 并将其粘贴进去,所有包都可以工作。

非常感谢 Brew IRC 频道上的 MistyM 指出这一点!

于 2013-02-06T21:37:27.623 回答
0

virtualenv.py如果您的系统不提供virtualenv命令,请下载:

curl -L -o virtualenv.py https://raw.github.com/pypa/virtualenv/master/virtualenv.py

首先创建您的 virtualenv 文件夹:

 python virtualenv.py venv # venv <-- name of the folder

您需要在 shell 中运行 virtualenv 的激活:

 . venv/bin/activate

或者

 source venv/bin/activate

这修复了 PYTHONPATH 和 PATH。您在每个 shell 会话中执行一次。然后python命令将神奇地工作:)

现在运行 pip,包将安装在 venv 中。

更多信息(免责声明,我是作者)http://opensourcehacker.com/2012/09/16/recommended-way-for-sudo-free-installation-of-python-software-with-virtualenv/

于 2013-01-31T14:10:05.237 回答
-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 文件夹以存储路径时,您将 CD 放入您的目录。

现在,当您看到 (venv) 时,它就处于活动状态

于 2013-01-31T14:21:08.067 回答