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_install
mkvirtualenv
y 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 mismomkvirtualenv
comando 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 python
Reorganice 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.sh
Vuelva 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 virtualenv
fuente
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/bin
antes/Library/Frameworks/Python.framework/Versions/2.7/bin
y/usr/local/bin
en PATH. Luego establezca lo siguiente en usted.profile
:fuente
VIRTUALENVWRAPPER_PYTHON
resolvió 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.7
fuente
export VIRTUALENVWRAPPER_PYTHON=/usr/local/Cellar/python/3.6.5/bin/python3.6
para 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 pip
dio/usr/bin/pip
como resultado, mientras quewhich python
dio/usr/local/bin/python
. El camino parapip
deberí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
pip
para su configuración actual de Python. Necesitas:pip
la documentación de).python get-pip.py
.Esto resolvió mi problema.
fuente
Hay varias cosas que pueden provocar este error. Si tu entorno es
python3
instalado desdeepel-release
pip3
instalado conpython3.4 get-pip.py
virtualenvwrapper
instalado conpip3
mkvirtualenv -p /usr/bin/python3.4
Luego, 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 virtualenvwrapper
fuente
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/python
fuente
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.5
y 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.sh
Soy 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
virtualenvwrapper
paquete. Cuando iniciaba sesión con cualquier usuario (osu
con 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/virtualenvwrapper
archivo.Editar:
No elimine el archivo anterior o no se volverá a crear si lo vuelve a instalar
virtualenvwrapper
. En cambio, lo que debe hacer espurge
elvirtualenvwrapper
paquete cuando lo desinstale. Así en Debian:fuente
Intente desinstalar su
virtualenv
evirtualenvwrapper
instalarlo nuevamente usandopip
en 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
.zshrc
parte relevante se ve así:export VIRTUALENVWRAPPER_PYTHON=$HOME/Applications/conda/bin/python source $HOME/Applications/conda/bin/virtualenvwrapper.sh
Esto 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 you
NO 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
group
yothers
no 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.6
Nota: 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é
write
persmisiones.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-packages
al 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