Mkvirtualenv: команда не найдена

Я новичок в виртуальных средах Python, поэтому, прочитав этот учебник, я попытался создать свою первую среду, используя virtualenvwrapper. Моя установка python3 теперь находится на голой кости:

$ pip3 list
argparse (1.2.1)
pip (1.5.6)
setuptools (2.1)
stevedore (0.15)
virtualenv (1.11.6)
virtualenv-clone (0.2.5)
virtualenvwrapper (4.3.1)

Как было предложено в учебнике, я добавил следующие строки в мой .bashrc файл:

export WORKON_HOME=$HOME/.virtualenvs
source /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper_lazy.sh

что приводит к следующему сообщению при открытии нового терминала:

Last login: Wed Sep 10 22:33:17 on ttys006
-bash: _VIRTUALENVWRAPPER_API: unbound variable
-bash: VIRTUALENVWRAPPER_SCRIPT: unbound variable
-bash: VIRTUALENVWRAPPER_SCRIPT: unbound variable
-bash: _VIRTUALENVWRAPPER_API: unbound variable
-bash: _VIRTUALENVWRAPPER_API: unbound variable
complete: usage: complete [-abcdefgjksuv] [-pr] [-o option] [-A action] [-G globpat] [-W wordlist] [-P prefix] [-S suffix] [-X filterpat] [-F function] [-C command] [name ...]

Я не понимаю, в чем проблема, но, очевидно, строка source /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper_lazy.sh терпит неудачу, потому что тогда я даже не могу найти команду mkvirtualenv:

$ mkvirtualenv test1 -p /usr/bin/python3.3
-bash: mkvirtualenv: command not found

Я нашел этот пост и этот, с аналогичными проблемами, но никто из них не дал мне решение.

Ответ 1

Я добавил следующее в свой .bashrc, ссылаясь на this

export PATH=/usr/local/bin:$PATH
source /usr/local/bin/virtualenvwrapper.sh

Теперь mkvirtualenv работает -

[email protected]:~/Desktop$ mkvirtualenv BUGS
Using base prefix '/usr'
New python executable in BUGS/bin/python3
Also creating executable in BUGS/bin/python
Installing setuptools, pip...done.

Ответ 2

Я столкнулся с той же проблемой и исправил ее, следуя инструкции:

http://exponential.io/blog/2015/02/10/install-virtualenv-and-virtualenvwrapper-on-ubuntu/

Часть 1. Установите необходимые пакеты

sudo apt-get install python-pip python-dev build-essential

sudo pip install virtualenv virtualenvwrapper

sudo pip install --upgrade pip

Часть 2: Настройка virtualenvwrapper в ~/.bashrc.

Я использовал vim для редактирования ~/.bashrc.

Во-первых, установите vim с помощью команды:

sudo apt-get install vim

Во-вторых, отредактируйте ~/.bashrc

vi.bashrc

enter [Shift] + [g]//G (shift + g): to go the end of the file

enter [a]//Type a to edit the file

Затем вставьте две строки:

export WORKON_HOME=~/virtualenvs

source/usr/local/bin/virtualenvwrapper.sh

enter [Esc] then :wq

Клавиша Esc означает возврат командной строки : wq означает сохранение изменений и выход из vi.

Часть 3: Включите виртуальную среду.

source ~/.bashrc

mkdir -p $WORKON_HOME

Теперь вы можете попробовать снова с mkvirtualenv:

mkvirtualenv your_project

  • Чтобы включить виртуальную среду your_project:

    workon your_project

  • Чтобы выйти из него:

    deactivate

Я заметил, что когда я устанавливал отдельно virtualenv и virtualenvwrapper (с двумя установками 'sudo pip install'), мне не удалось запустить source ~/.bashrc из-за сбоя при импорте модуля virtualenvwrapper.hook_loader, поэтому вы действительно установили virtualenv и virtualenvwrapper, попробуем еще раз с помощью sudo pip install virtualenv virtualenvwrapper.

Надеюсь, что вы найдете ее полезной!

Ответ 3

export WORKON_HOME=~/Virtualenvs
export PROJECT_HOME=~/Devel
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
source /usr/local/bin/virtualenvwrapper.sh

Если у вас есть чистая установка virtualenv и virtualenvwrapper, то это должно работать в Mac OS. Это для меня.