Команда virtualenv не найдена после установки с MacPorts - PullRequest
6 голосов
/ 08 июля 2011

У меня установлен Python 2.7 через порты Mac на Mac.Я установил virtualenv через macports (py27-virtualenv @ 1.6.1_0 (активный). При выполнении команды: virtualenv demo_venv --no-site-packages, я получаю эту ошибку: -bash: virtualenv: команда не найдена.up @ all, так что мне нужно добавить ссылку на мой каталог python27?

Ответы [ 5 ]

35 голосов
/ 04 апреля 2013

Как вы заметили, MacPorts предлагает несколько версий пакетов pyXX-virtualenv. Вы должны указать MacPorts, какую из этих версий вы хотите использовать по умолчанию:

port select --list virtualenv
port select --set virtualenv virtualenv27
which virtualenv

После этого вы сможете набрать virtualenv (при условии, что в вашем пути находится каталог bin MacPorts).

4 голосов
/ 23 августа 2011

Команда virtualenv-2.7, а не просто virtualenv.

Если вы посмотрите на содержимое пакета, вы увидите, что исполняемый файл с именем virtualenv не установлен.

3 голосов
/ 08 июля 2011

MacPorts устанавливает версионные ссылки на virtualenv в /opt/local/bin, расположении по умолчанию для MacPorts.При использовании MacPorts вы должны убедиться, что /opt/local/bin находится в переменной окружения PATH вашей оболочки.Здесь я показываю py26-virtualenv и py27-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
2 голосов
/ 29 мая 2012

Если вы используете virtualenvwrapper, вы можете настроить среду оболочки так, чтобы она указывала на правильный скрипт virtualenv. Установите порт py27-virtualenvwrapper и добавьте эти строки в свой профиль Bash:

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

При использовании команд virtualenvwrapper не требуется никаких других хакерских путей или символических ссылок:

% mkvirtualenv demo_venv --no-site-packages
1 голос
/ 08 июля 2011

Вы должны убедиться, что virtualenv находится в вашей переменной PATH, хотя так и должно быть, если она была установлена ​​правильно.

...