Я пытаюсь завершить раздел Управление виртуальными средами с помощью virtualenvwrapper здесь .
Я дошел до этого раздела:
После установки нам нужно активировать функции оболочки. Мы можем сделать это, запустив source на установленном скрипте virtualenvwrapper. sh. Когда вы впервые устанавливаете его с помощью pip, результат установки сообщит вам точное местоположение virtualenvwrapper. sh. Или вы можете просто выполнить следующее:
$ which virtualenvwrapper.sh
/usr/local/bin/virtualenvwrapper.sh
Используя этот путь, добавьте следующие три строки в файл запуска вашей оболочки. Если вы используете оболочку Bash, вы должны поместить эти строки либо в файл ~/.bashrc
, либо в файл ~/
.profile. Для других оболочек, таких как zsh, csh или fi sh, вам потребуется использовать файлы запуска, указанные c для этой оболочки. Все, что имеет значение, это то, что эти команды выполняются при входе в систему или открытии новой оболочки:
export WORKON_HOME=$HOME/.virtualenvs # Optional
export PROJECT_HOME=$HOME/projects # Optional
source /usr/local/bin/virtualenvwrapper.sh
При использовании which virtualenvwrapper.sh
я получил следующий результат:
/usr/local/bin/virtualenvwrapper.sh
Затем я использую export WORKON_HOME=$HOME/.virtualenvs
и export PROJECT_HOME=$HOME/projects
без вывода, что подразумевает успех.
И, наконец, я использую source /usr/local/bin/virtualenvwrapper.sh
и получаю следующий результат:
/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: No module named virtualenvwrapper
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is
set properly.
Я не уверен именно то, что здесь не так, но следует использовать Python 3 вместо Python 2:
python --version
приводит к Python 2.7.16
python3 --version
приводит к Python 3.7.6
Моя ОС - macOS, а моя оболочка - zsh.
Редактировать
Как указывалось в комментариях, я следовал инструкциям "Использование Django внутри * 1100" * раздел виртуальной среды здесь .
Это прекрасно работает:
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export PROJECT_HOME=$HOME/Devel
Однако, source /usr/local/bin/virtualenvwrapper.sh
дает
/Library/Developer/CommandLineTools/usr/bin/python3: Error while finding module specification for 'virtualenvwrapper.hook_loader' (ModuleNotFoundError: No module named 'virtualenvwrapper')
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 and that PATH is
set properly.