virtualenv命令在安装MacPorts后找不到



我在mac上通过mac端口安装了python 2.7。我通过macports安装了virtualenv (py27-virtualenv @1.6.1 .1_0 (active))。当发出命令:virtualenv demo_venv——no-site-packages时,我得到这个错误:-bash: virtualenv:command not found。它没有选择virtualenv @ all,所以我需要将它符号链接到我的python27位置吗?

正如您所注意到的,MacPorts提供了几个版本的pyXX-virtualenv包。你需要告诉MacPorts默认情况下你想使用哪个版本:

port select --list virtualenv
port select --set virtualenv virtualenv27
which virtualenv
在此之后,您应该能够键入virtualenv(假设MacPorts bin目录在您的路径中)。

命令是virtualenv-2.7,不是virtualenv

如果查看包内容,可以看到没有安装名为virtualenv的可执行文件。

MacPorts在/opt/local/bin (MacPorts的默认位置)中安装到virtualenv的版本链接。在使用MacPorts时,需要确保/opt/local/bin位于shell PATH环境变量中。这里,我展示了安装的py26-virtualenvpy27-virtualenv:

$ echo $PATH
/opt/local/Library/Frameworks/Python.framework/Versions/Current/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Developer/Tools
$ ls -l /opt/local/bin/virtuale*
lrwxr-x---  1 root  admin  13 Oct 15  2009 /opt/local/bin/virtualenv@ -> virtualenv2.6
lrwxr-xr-x  1 root  wheel  74 May 17 02:20 /opt/local/bin/virtualenv-2.6@ -> /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/virtualenv
lrwxr-xr-x  1 root  wheel  74 May 17 02:29 /opt/local/bin/virtualenv-2.7@ -> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv
lrwxr-xr-x  1 root  wheel  88 Jun 27  2010 /opt/local/bin/virtualenvwrapper_bashrc-2.6@ -> /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/virtualenvw

一般来说,如果你想知道MacPort端口安装了什么文件以及在哪里,使用port contents来查找:

$ port contents py27-virtualenv
Port py27-virtualenv contains:
  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv
  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv-1.6.1-py2.7.egg-info/PKG-INFO
  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv-1.6.1-py2.7.egg-info/SOURCES.txt
  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv-1.6.1-py2.7.egg-info/dependency_links.txt
  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv-1.6.1-py2.7.egg-info/entry_points.txt
  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv-1.6.1-py2.7.egg-info/not-zip-safe
  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv-1.6.1-py2.7.egg-info/top_level.txt
  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv.py
  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv.pyc
  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv_support/__init__.py
  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv_support/__init__.pyc
  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv_support/distribute-0.6.16.tar.gz
  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv_support/pip-1.0.1.tar.gz
  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv_support/setuptools-0.6c11-py2.7.egg
  /opt/local/bin/virtualenv-2.7
  /opt/local/share/doc/py27-virtualenv/index.txt
  /opt/local/share/doc/py27-virtualenv/news.txt

如果使用virtualenvwrapper,则可以配置shell环境以指向正确的virtualenv脚本。安装py27-virtualenvwrapper端口并将这些行添加到您的Bash配置文件中:

export VIRTUALENVWRAPPER_VIRTUALENV=/opt/local/bin/virtualenv-2.7
source /opt/local/bin/virtualenvwrapper.sh-2.7

当您使用virtualenvwrapper命令时,不需要其他的路径hack或符号链接:

% mkvirtualenv demo_venv --no-site-packages

您需要确保virtualenv在您的PATH中,尽管如果正确安装它应该在PATH中。

最新更新