Python Virtualenv - нет модуля с именем virtualenvwrapper.Крюковой погрузчик
я запускаю Mac OS 10.6.8. и хотели установить в дополнение к Python 2.6 и Python 2.7 и использовать Python 2.7 в новое виртуальное окружение. Я выполнил следующие шаги:
Я скачал Python 2.7 и установил его:
http://www.python.org/ftp/python/2.7.3/python-2.7.3-macosx10.6.dmg
затем я запускаю команду для установки нового virtualenv с помощью python2. 7:
mkvirtualenv --python=python2.7 mynewenv
мой .файл выглядит следующим образом:
# needed for virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
теперь, когда я открываю консоль я получаю следующее сообщение об ошибке.
ImportError: No module named virtualenvwrapper.hook_loader
virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader, check that virtualenv has been installed for VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python and that PATH is set properly.
я нашел в другом посте, что я должен обновить virtualenvwrapper. Это не помогло.
sudo pip install virtualenvwrapper --upgrade
любая помощь будет оценили.
14 ответов:
проблема была решена следующим образом:
#switch the /usr/bin/python link to point to current python link cd /usr/bin sudo mv python python.bak sudo ln -s /Library/Frameworks/Python.framework/Versions/Current/bin/python pythonпереупорядочить команду экспорта, чтобы она была помещена перед командами virtualenv в my .файл bash_profile:
PATH=/Library/Frameworks/Python.framework/Versions/2.7/bin:$PATH export PATH # needed for virtualenvwrapper export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.shпереустановите setuptools, легкую установку и PIP. Это, очевидно, необходимо для того, чтобы они правильно работали с новой версией python:
sudo sh setuptools-0.6c11-py2.7.egg sudo easy_install-2.7 pip pip install virtualenv
кроме того, если у вас есть macports, убедитесь
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/binстоит перед/Library/Frameworks/Python.framework/Versions/2.7/binи/usr/local/binв путь. Затем установите следующее в вас.profile:export VIRTUALENVWRAPPER_PYTHON=`which python` export VIRTUALENVWRAPPER_VIRTUALENV=`which virtualenv` source `which virtualenvwrapper.sh`
в моем случае, добавив эту строку в моей .файл zshrc сделал трюк,
export VIRTUALENVWRAPPER_PYTHON=/usr/local/Cellar/python/2.7.13/bin/python2.7
это случилось со мной и я решил ее переустановить
pip. Что случилось, так этоwhich pipдал/usr/bin/pipв итоге, покаwhich pythonдал/usr/local/bin/python. Путь дляpipдолжно быть/usr/local/bin/pip. Это, вероятно, сломалось, когда я обновил свою установку Python.если вы следуйте документации pip вы можете легко переустановить
pipдля текущей рабочей установки Python. Вам нужно:
- скачать get-pip.py скрипт (напрямую связан с с).
- выполнить
python get-pip.py.это решило проблему для меня.
есть несколько вещей, которые могут вызвать эту ошибку. Если ваша среда
- CentOS 7, с
python3установлен сepel-releasepip3установлен сpython3.4 get-pip.pyvirtualenvwrapperустановлен сpip3- виртуальная среда python, созданная с помощью
mkvirtualenv -p /usr/bin/python3.4затем, по какой-либо причине, виртуальная среда создается без библиотеки virtualenvwrapper. Вы можете решить это просто установка его снова, но на этот раз изнутри virtlualenv
[user@localhost ~] $ mkvirtualenv -p /usr/bin/python3.4 venv Using base prefix '/usr' New python executable in /home/user/.virtualenvs/venv/bin/python3.4 Also creating executable in /home/user/.virtualenvs/venv/bin/python Installing setuptools, pip, wheel...done. virtualenvwrapper.user_scripts creating /home/user/.virtualenvs/venv/bin/predeactivate virtualenvwrapper.user_scripts creating /home/user/.virtualenvs/venv/bin/postdeactivate virtualenvwrapper.user_scripts creating /home/user/.virtualenvs/venv/bin/preactivate virtualenvwrapper.user_scripts creating /home/user/.virtualenvs/venv/bin/postactivate virtualenvwrapper.user_scripts creating /home/user/.virtualenvs/venv/bin/get_env_details /home/user/.virtualenvs/venv/bin/python3.4: Error while finding spec for 'virtualenvwrapper.hook_loader' (<class 'ImportError'>: No module named 'virtualenvwrapper') /home/user/.virtualenvs/venv/bin/python3.4: Error while finding spec for 'virtualenvwrapper.hook_loader' (<class 'ImportError'>: No module named 'virtualenvwrapper') # the virtualenv should now activated (venv)[user@localhost ~] $ pip install virtualenvwrapper
Мне просто нужно было убедиться, что /usr/local/bin/python существует.
для меня это было просто:
ln -s /usr/local/bin/python2.7 /usr/local/bin/python
Я получаю ту же ошибку . Узнал, что у меня была старая версия Пипа . Я исправил ошибку, просто обновив pip .
Я только что установил python 3.5, попробовал virtualenvwrapper, а затем возникла эта проблема. Я понял, что python3. 5 был установлен в
/usr/local/bin/python3.5, а не/usr/bin/python3.5. Итак, я пересмотрел свой .скрипт bash_profile выглядит следующим образом и все вроде бы работает сейчас# Setting PATH for Python 3.5 # The orginal version is saved in .bash_profile.pysave PATH="/Library/Frameworks/Python.framework/Versions/3.5/bin:${PATH}" export PATH export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3.5 export WORKON_HOME=$HOME/.virtualenvs source /Users/bentaub/.virtualenvs/djangodev/bin/virtualenvwrapper.shЯ достаточно Новичок, чтобы не быть уверенным, как это "локальное" на пути к python3.5 повлияет на меня в долгосрочной перспективе, но пока это работает.
у меня была такая проблема после удалить the
virtualenvwrapperпакета. Когда я вошел в систему для любого пользователя (илиsuк другому), я бы получил:Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named virtualenvwrapper.hook_loader virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader, check that virtualenv has been installed for VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is set properly.
решение было удалить .Edit:
не удаляйте вышеуказанный файл или он не будет воссоздан при переустановке
virtualenvwrapper. Вместо этого вам нужно сделатьpurgethevirtualenvwrapperпакет при его удалении. Как это Debian:apt-get remove --purge virtualenvwrapper
Попробуйте удалить
virtualenvиvirtualenvwrapperи установите его снова с помощьюpipв версии 2.7 (я так думаю).я столкнулся с той же ошибкой, и я просто сделал это и решил свою проблему.
Я использую U
хотя есть принятый ответ, я думал, что поставлю то, что исправило его для меня.
во-первых я установил Python и только что обновил его через Homebrew. Я также использую ZSH, поэтому, если некоторые биты не совсем соответствуют вашему выходу, это может быть причиной.
под управлением brew info python и просматривая вывод я нашел следующий хороший бит информации:
If you wish to have this formula's python executable in your PATH then add the following to ~/.zshrc: export PATH="/usr/local/opt/python/libexec/bin:$PATH"поэтому я добавил Это в свой сценарий запуска терминала как показано и N ошибка больше не отображается.
Примечание: я вставил это в другую часть моего пути, и ошибка сохраняется при запуске.
столкнулся с аналогичной проблемой после установки проекта Conda / Anaconda. Этот вопрос был весьма полезен в решении моей проблемы на MAC.Решение вопроса было моим
.zshrcсоответствующая часть выглядит так:export VIRTUALENVWRAPPER_PYTHON=$HOME/Applications/conda/bin/python source $HOME/Applications/conda/bin/virtualenvwrapper.shЭто зависит от того, где я установил conda, и вам придется выяснить это в вашем собственном случае. Чтобы получить спецификацию для вашей конкретной среды в зависимости от того, где вы установили anaconda, вы можете использовать следующее:
$ ~/ -name virtualenvwrapper.sh # to see where you have this. May already be prefilled in your shell profile[.zshrc or .profile] $ which python # to know the default python your project or rather where conda has installed python for youНЕ ЗАБУДЬТЕ Удалите и установите virtualenv и virtualenvwrapper, как указано в других ответах.
просто наткнулся на эту проблему на Centos 7.4.
ни один из приведенных выше ответов не подходит для моего случая. После того, как я немного покопался, я указал это на слишком строгие права доступа к файлам в Python libs (я думаю, что установка python на Centos немного отличается от других систем POSIX).
Итак, если все остальное не удается, вы можете проверить, что ваши библиотеки python читаются пользователем, с которым вы пытаетесь запустить virtualenvwrapper.
в частности проверять:
/usr/lib/python3.6 /usr/lib64/python3.6(измените пути для разных версий python).если вы видите, что
groupиothersотсутствие прав на чтение и выполнение там, а затем добавить их:sudo chmod og+rx -R /usr/lib/python3.6 sudo chmod og+rx -R /usr/lib64/python3.6Примечание.: Я не уверен, работает ли это против политики безопасности Centos, но это, вероятно, безопасно, пока вы не даете
writepersmisions.
Comments