Проблема с шагом в настройке virtualenvwrapper для Python - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь завершить раздел Управление виртуальными средами с помощью 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.

...