Установленный virtualenv и virtualenvwrapper: Python говорит, что ни один модуль с именем virtualenvwrapper
Множество других тем, связанных с подобными проблемами, но никого, что я мог бы найти там, где был тот же случай, что и мой. Итак, здесь идет:
Что я сделал:
- Ran:
sudo easy_install pip
- Ran:
sudo pip install virtualenv
- Ran:
sudo pip install virtualenvwrapper
Текущее состояние:
-
.bash_profile
export PATH=/usr/local/bin:$PATH
export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache
export WORKON_HOME=$HOME/.virtualenvs
export PIP_VIRTUALENV_BASE=$WORKON_HOME
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
-
Запуск mkvirtualenv test
приводит к:
New python executable in trunk/bin/python
Installing setuptools, pip...done.
/usr/bin/python: No module named virtualenvwrapper
-
Проверка вручную /usr/local/bin показывает, что virtualenvwrapper.sh существует
- В отличие от некоторых других вопросов, которые я видел об этом, я не получаю сообщение о virtualenvwrapper, когда я запускаю новое окно терминала
- Запуск ', из которого выполняется python':
/usr/bin/python
Что я пробовал:
- Проверка моего пути, чтобы убедиться, что он выглядит как
- Переустановка протокола, а затем с помощью переустановленного пункта для переустановки виртуального и виртуального vwrapper
Любая помощь в получении этой работы будет очень оценена.
Ответы
Ответ 1
Мне удалось получить эту работу после той же проблемы, которую вы описали здесь, отредактировав мой ~/.bash_profile и добавив следующее:
export WORKON_HOME=$HOME/code/.virtualenvs
export PROJECT_HOME=$HOME/code
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
source /usr/local/bin/virtualenvwrapper.sh
Сохранить, закрыть.
тогда:
$ source ~/.bash_profile
и:
$ mkvirtualenv test
Ответ 2
У меня была та же проблема, что и настройка virtualenvwrapper на ubuntu.
Я установил virtualenv, virtualenvwrapper, используя pip, который установил эти модули в пакет сайта python3.5. Как я узнал об этом?
Откройте терминал и введите
$ pip --version
pip 9.0.1 из /home/clyton/.virtualenvs/test1/lib/python3.5/site-packages (python 3.5)
Затем я проверил переменную VIRTUALENVWRAPPER_PYTHON
, значение которой было
/USR/ бен/питон.
На вашем терминале и введите
$ ls -l $VIRTUALENVWRAPPER_PYTHON
lrwxrwxrwx 1 root root 9 Dec 10 2015 **/usr/bin/python -> python2.7**
Как вы можете видеть, эта переменная указывает на python2.7, и вы, возможно, установили virtualenv в другой пакет сайта python.
Итак, чтобы исправить эту проблему, просто добавьте строку ниже в bashrc
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.5
ПРИМЕЧАНИЕ. Установите указанное выше значение в версию python, с которой был установлен virtualenv. В моем случае это был python3.5, поэтому я установил это значение. Как узнать версию python, используемую для установки virtualenv? Снова введите pip --version
в терминал.
Затем откройте новый сеанс оболочки и снова попробуйте mkvirtualenv. На этот раз он должен работать.
Ответ 3
Если вы посмотрите на virtualenvwrapper.sh script, вы найдете следующие строки:
# Locate the global Python where virtualenvwrapper is installed.
if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ]
then
VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
fi
Если вы не вручную экспортируете VIRTUALENVWRAPPER
соответствующим образом для своей версии python, он будет использовать системный стандарт, если у вас нет установленного пакета virtualenvwrapper.
Я исправил это так:
echo "export VIRTUALENVWRAPPER_PYTHON=$(which python3.6)" >> ~/.zshrc
Все это описано на официальном сайте здесь.
Ответ 4
Попробуйте удалить virtualenv
и virtualenvwrapper
и снова установите его с помощью pip
(проверьте, ссылаетесь ли вы на пипс или присвоили ему псевдоним для другой версии) в версии 2.7 (я думаю).
Я столкнулся с той же ошибкой, и я просто сделал это и решил свою проблему.
Я использую машину Ubuntu.
Я надеюсь, что эта помощь.
Ответ 5
попробуйте установить virtualenv и virtualenvwrapper с помощью pip2 install virtualenv virtualenvwrapper
. похоже, что pip install virtualenv и он обертывает python 3 по умолчанию.
Ответ 6
В моем случае добавление этой строки в мой .zshrc файл делало трюк,
export VIRTUALENVWRAPPER_PYTHON=/usr/local/Cellar/python/2.7.13/bin/python2.7
не забудьте указать источник ~/.zshrc, чтобы обновить изменения к вашему текущему терминалу.
Ответ 7
Получил эту ошибку после недавнего (лета 2017 года) обновления Homebrew и python. Проблема в моем случае заключалась в том, что Homebrew больше не перезаписывает системный python, и у меня не было установленных virtualenv
и virtualenvwrapper
для системного python.
В моем случае решение заключалось в следующем: ~/.bash_profile
(или ~/.zshrc
):
export PATH="$(brew --prefix)/opt/python/libexec/bin:$PATH"
Это означало, что python
указывает на версию python brew, а также дал мне pip
назад. В этой версии python
установлены virtualenv
и virtualenvwrapper
, поэтому ошибка больше не появляется. См. Раздел оговорки в разделе brew info python
и https://github.com/Homebrew/homebrew-core/issues/15746 для получения дополнительной информации