[python] Python Virtualenv-virtualenvwrapper.hook_loader라는 모듈이 없습니다.

Mac OS 10.6.8을 실행하고 있습니다. 그리고 python 2.6 외에도 python 2.7을 설치하고 새로운 virtualenv에서 python 2.7을 사용하고 싶었습니다. 다음 단계를 실행했습니다.

python 2.7을 다운로드하고 설치했습니다.

http://www.python.org/ftp/python/2.7.3/python-2.7.3-macosx10.6.dmg

그런 다음 명령을 실행하여 python2.7을 사용하여 새 virtualenv를 설정합니다.

mkvirtualenv --python=python2.7 mynewenv

내 .bash_profile은 다음과 같습니다.

# 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

어떤 도움을 주시면 감사하겠습니다.



답변

문제는 다음 단계에 따라 해결되었습니다.

#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

내 .bash_profile 파일에서 virtualenv 명령 앞에 배치되도록 내보내기 명령을 다시 정렬하십시오.

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를 다시 설치하십시오. 이것은 새로운 파이썬 버전에서 제대로 작동하기 위해 분명히 필요합니다.

sudo sh setuptools-0.6c11-py2.7.egg

sudo easy_install-2.7 pip

pip install virtualenv


답변

또한 macport /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin가 있는 경우 PATH 앞 /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


답변

Ubuntu 18.04Python 3+를 사용하는 모든 사람에게 이것은 나를 위해 트릭을 수행했습니다.

which python3 # outputs /usr/bin/python3 
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source `which virtualenvwrapper.sh`


답변

이것은 나에게 일어 났고 .NET을 다시 설치하여 해결했습니다 pip. 앞으로 일어날 그했다 있었다 무엇 which pip/usr/bin/pip결과로, 동안을 which python했다 /usr/local/bin/python. 의 경로는 pip이어야합니다 /usr/local/bin/pip. 이것은 Python 설치를 업데이트했을 때 깨졌을 것입니다.

당신이 경우 핍 문서에 따라 쉽게 재설치 할 수를 pip현재 작업 파이썬 설치에. 다음을 수행해야합니다.

  1. get-pip.py 스크립트를 다운로드합니다 ( pip의 문서 에서 직접 링크 됨 ).
  2. 을 실행 python get-pip.py합니다.

이것은 나를 위해 문제를 해결했습니다.


답변

이 오류를 일으킬 수있는 여러 가지가 있습니다. 환경이

  • CentOS 7, 다음에서 python3설치epel-release
  • pip3 함께 설치 python3.4 get-pip.py
  • virtualenvwrapper 함께 설치 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