Установленный 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 для получения дополнительной информации