Estoy ejecutando Mac OS 10.6.8. y quería instalar además de python 2.6 también python 2.7 y usar python 2.7 en un nuevo virtualenv. Ejecuté los siguientes pasos:
Descargué Python 2.7 y lo instalé:
http://www.python.org/ftp/python/2.7.3/python-2.7.3-macosx10.6.dmg
Luego ejecuto el comando para configurar un nuevo virtualenv usando python2.7:
mkvirtualenv --python=python2.7 mynewenv
Mi .bash_profile tiene el siguiente aspecto:
# 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
Ahora, cuando abro la consola, aparece el siguiente mensaje de error.
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.
También encontré en una publicación diferente que debería actualizar virtualenvwrapper. Eso no ayudó.
sudo pip install virtualenvwrapper --upgrade
Cualquier ayuda sería apreciada.
python
virtualenv
virtualenvwrapper
Thomas Kremmel
fuente
fuente

easy_installmkvirtualenvy luego lo detuve (conCtrl+C). Al intentar hacer el virtualenv nuevamente, quedaron algunas sobras de la última vez. Entré en mi carpeta envs y eliminé el entorno construido de forma incompleta. Después de eso, el mismomkvirtualenvcomando funcionó correctamente.Respuestas:
El problema se resolvió siguiendo los pasos a continuación:
#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 pythonReorganice el comando de exportación para que se coloque antes de los comandos virtualenv en mi archivo .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.shVuelva a instalar las herramientas de configuración, fácil instalación y PIP. Obviamente, esto es necesario para que funcionen correctamente con la nueva versión de Python:
sudo sh setuptools-0.6c11-py2.7.egg sudo easy_install-2.7 pip pip install virtualenvfuente
usr/local/Cellar/python/<PYTHON-VERSION>/bin/.Además, si tiene macports, asegúrese de que aparezca
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/binantes/Library/Frameworks/Python.framework/Versions/2.7/biny/usr/local/binen PATH. Luego establezca lo siguiente en usted.profile:fuente
VIRTUALENVWRAPPER_PYTHONresolvió mi problema.En mi caso, agregar esta línea en mi archivo .zshrc hizo el truco,
export VIRTUALENVWRAPPER_PYTHON=/usr/local/Cellar/python/2.7.13/bin/python2.7fuente
export VIRTUALENVWRAPPER_PYTHON=/usr/local/Cellar/python/3.6.5/bin/python3.6para la última versión.export VIRTUALENVWRAPPER_PYTHON="which python3"Para cualquiera que use Ubuntu 18.04 y Python 3+ , esto funcionó para mí:
which python3 # outputs /usr/bin/python3 export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source `which virtualenvwrapper.sh`fuente
Esto me pasó a mí y lo resolví reinstalando
pip. Lo que sucedió fue quewhich pipdio/usr/bin/pipcomo resultado, mientras quewhich pythondio/usr/local/bin/python. El camino parapipdebería ser/usr/local/bin/pip. Esto probablemente se rompió cuando actualicé mi instalación de Python.Si sigue la documentación de pip , puede reinstalar fácilmente
pippara su configuración actual de Python. Necesitas:pipla documentación de).python get-pip.py.Esto resolvió mi problema.
fuente
Hay varias cosas que pueden provocar este error. Si tu entorno es
python3instalado desdeepel-releasepip3instalado conpython3.4 get-pip.pyvirtualenvwrapperinstalado conpip3mkvirtualenv -p /usr/bin/python3.4Luego, por la razón que sea, el entorno virtual se crea sin la biblioteca virtualenvwrapper. Puede resolverlo simplemente instalándolo de nuevo, pero esta vez desde dentro de 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 virtualenvwrapperfuente
Solo tenía que asegurarme de que existiera / usr / local / bin / python.
Para mi fue un simple:
ln -s /usr/local/bin/python2.7 /usr/local/bin/pythonfuente
Me sale el mismo error . Descubrí que tenía una versión antigua de pip. Solucioné el error simplemente actualizando el pip.
fuente
Acabo de instalar Python 3.5, probé virtualenvwrapper y luego tuve este problema. Me di cuenta de que python3.5 estaba instalado
/usr/local/bin/python3.5y NO/usr/bin/python3.5. Entonces, revisé mi script .bash_profile para que se vea como el siguiente y todo parece funcionar ahora# 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.shSoy lo suficientemente novato como para no estar seguro de cómo ese 'local' en el camino a python3.5 me va a afectar a largo plazo pero, por ahora, funciona.
fuente
Tuve este problema después de desinstalar el
virtualenvwrapperpaquete. Cuando iniciaba sesión con cualquier usuario (osucon uno diferente), obtenía: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.La solución fue borrar el/etc/bash_completion.d/virtualenvwrapperarchivo.Editar:
No elimine el archivo anterior o no se volverá a crear si lo vuelve a instalar
virtualenvwrapper. En cambio, lo que debe hacer espurgeelvirtualenvwrapperpaquete cuando lo desinstale. Así en Debian:fuente
Intente desinstalar su
virtualenvevirtualenvwrapperinstalarlo nuevamente usandopipen la versión 2.7 (creo).Encontré el mismo error y simplemente hice esto y resolví mi problema.
Estoy usando U
fuente
A pesar de que hay una respuesta aceptada, pensé que podría poner lo que me solucionó.
Primero instalé Python y lo acababa de actualizar a través de Homebrew . También estoy usando ZSH, por lo que si algunos bits no coinciden con su salida, esa podría ser la razón.
Al ejecutar brew info python y mirar a través de la salida, encontré la siguiente buena información:
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"Así que agregué esto a la secuencia de comandos de inicio de mi terminal como se muestra y el error n aparece más.
Nota: inserté esto en otra parte de mi RUTA y el error persistió en el inicio.
fuente
Me encontré con un problema similar después de instalar el proyecto Conda / Anaconda. Esta pregunta fue muy útil para resolver mi problema en MAC. Al resolver el problema, mi
.zshrcparte relevante se ve así:export VIRTUALENVWRAPPER_PYTHON=$HOME/Applications/conda/bin/python source $HOME/Applications/conda/bin/virtualenvwrapper.shEsto depende de dónde tenga instalado Conda y tendrá que calcularlo en su propio caso. Para obtener los detalles específicos para su entorno dado, dependiendo de dónde haya instalado anaconda, puede usar lo siguiente:
$ ~/ -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 youNO OLVIDE DESINSTALAR E INSTALAR virtualenv y virtualenvwrapper como se destaca en otras respuestas.
fuente
Me encontré con este problema en un Centos 7.4.
Ninguna de las respuestas anteriores se adaptaba a mi caso. Después de investigar un poco, identifiqué esto con permisos de archivo demasiado estrictos en bibliotecas de python (supongo que la instalación de Python en Centos difiere un poco de otros sistemas POSIX).
Entonces, si todo lo demás falla, es posible que desee verificar que sus bibliotecas de Python sean legibles por el usuario con el que está tratando de ejecutar virtualenvwrapper.
En particular, verifique:
/usr/lib/python3.6 /usr/lib64/python3.6(modifique las rutas para diferentes versiones de Python).Si ve eso
groupyothersno tiene permisos de lectura y ejecución allí, agréguelos:sudo chmod og+rx -R /usr/lib/python3.6 sudo chmod og+rx -R /usr/lib64/python3.6Nota: No estoy seguro de si esto funciona en contra de una política de seguridad de Centos, pero probablemente sea seguro siempre que no dé
writepersmisiones.fuente
En mi situación (OS X 10.13.6), esto lo hizo
fuente
Tuve el mismo problema que este y pasé mucho tiempo configurando lo que estaba mal. Y finalmente descubrí lo que estaba mal.
Primero busqué dónde existe la carpeta virtualenvwrapper. En mi caso /usr/local/lib/python3.7/site-packages. Dentro de la carpeta está hook_loader.py que causó el error.
A continuación, usé el script de Python.
python3 import sys;print('\n'.join(sys.path))No pude encontrar el directorio /usr/local/lib/python3.7/site-packages, así que por fin escribí,
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.7/site-packagesal archivo .bashrc. Hecho.
Significado de PYTHON PATH
Como puede ver en el enlace anterior, PYTHONPATH aumenta la ruta de búsqueda predeterminada para los módulos.
fuente