¿Dónde está virtualenvwrapper.sh después de la instalación de pip?

127

Estoy tratando de configurar virtualenvwrapper en OSX, y todas las instrucciones y tutoriales que he encontrado me dicen que agregue un comando de origen a .profile, apuntando hacia virtualenvwrapper.sh. He revisado todos los directorios de paquetes de sitio y python, y no puedo encontrar ningún virtualenvwrapper.sh. ¿Es esto algo que necesito descargar por separado? ¿Pip no se instala correctamente?

Este es el contenido de /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenvwrapper:

hook_loader.py      hook_loader.pyc     project.py      project.pyc     user_scripts.py     user_scripts.pyc

Como puede ver, no virtualenvwrapper.sh. ¿Dónde está?

zakdances
fuente

Respuestas:

158

Puede usar el findcomando para buscar un archivo:

find / -name virtualenvwrapper.sh

Esto buscará todos los directorios desde la raíz para el archivo.


en ubuntu 12.04 LTS, instalando a través de pip, se instala en

/usr/local/bin/virtualenvwrapper.sh


en ubuntu 17.04, instalando a través de pip como usuario normal, se instala en

~/.local/bin/virtualenvwrapper.sh

dm03514
fuente
83

¿Ya probaste esto?

$ which virtualenvwrapper.sh
hepidad
fuente
esto funciona, pero ¿por qué no which virtualenvwrapperfunciona? ¿No es ese el nombre del comando en las variables ambientales?
zakdances
10
Para ayudar a cualquier otra persona que whichhaga esta misma pregunta sobre por qué no funciona, es porque virtualenvwrapper está utilizando su archivo de finalización de bash personalizado para agregar comandos puramente virtuales, de los cuales el virtualenvwrappercomando común es uno. En consecuencia, no hay ningún archivo físico en el disco al whichque señalar.
Tim
1
@yourfriendzak, la escritura del golpe virtualenvwrapper.shnecesita ser de origen en su cáscara antes de cualquiera de los comandos ( mkvirtualenv, rmvirtualenv, etc.) están disponibles, es decir, $ source /path/to/virtualenvwrapper.sh
tenfishsticks
Esto fue mucho más rápido que, findpero ambos funcionaron. La mía estaba ubicada en usr/local/binOS X.
danagerous
54

Acabo de reinstalarlo con pip.

sudo pip uninstall virtualenvwrapper
sudo pip install virtualenvwrapper

Y esta vez lo puso en / usr / local / bin.

usuario2625596
fuente
Esto funcionó para mí en Ubuntu, también me permitió which virtualenvwrapper.shtrabajar, que no había devuelto nada hasta que hice esto.
eddiemoya
Después de este comando en Fedora 23, he encontrado virtualenvwrapper.sh solo en usr / bin.
tomaskazemekas
1
Inicialmente lo había instalado apt-gety aterrizado /usr/share/virtualenvwrapper/virtualenvwrapper.sh, luego lo purgó e hizo su truco.
Hauke
Esto funcionó para mí en Ubuntu 14.04 si find / -name xxxx.shno encontraste nada.
alanwsx
48

La ruta exacta donde virtualenvwrapper.sh se almacena / localiza varía de un sistema operativo a otro . Incluso con el mismo sistema operativo, varía de una versión a otra. Por lo tanto, necesitamos una solución genérica que funcione para todas las versiones del sistema operativo.

La forma más fácil que he encontrado para encontrar su camino es : Do

pip uninstall virtualenvwrapper

Esto solicitará una confirmación. Diga "No", pero la primera línea de confirmación muestra la ruta de virtualenvwrapper.sh (el mensaje le da una lista de archivos que eliminará, si dice Sí. La primera entrada de esta lista contiene la ruta de virtualenvwrapper.sh en su máquina)

Anuj Gupta
fuente
No me funcionó. Estoy usando Python 2.7.14 con Virtualenv 15.1.0, virtualenvwrapper 4.8.2.
whyisyoung
@whyisyoung: ¿en serio? ¿me puede enviar la captura de pantalla justo después de ejecutar "pip desinstalar virtualenvwrapper"
Anuj Gupta
1
Buen atajo. Estoy usando esto incluso para otras bibliotecas. ¡Gracias!
Mahesh Vemula
15

o, como lo hice ... simplemente desinstale virtualenvwrapper

sudo pip desinstalar virtualenvwrapper

y luego instalarlo con easy_install

sudo easy_install virtualenvwrapper

esta vez encontré el archivo " /usr/local/bin/virtualenvwrapper.sh " instalado ... Antes de eso, no encontraba ese archivo en ninguna parte ni siquiera con este comando

encontrar / -name virtualenvwrapper.sh

iMitwe
fuente
11

En Mac OS

which virtualenvwrapper.sh

tu tienes

/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh

y tu puedes

sudo ln /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh /usr/local/bin/virtualenvwrapper.sh

y en tu .bash_profile

source /usr/local/bin/virtualenvwrapper.sh

o puedes

source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh
Tianqi Tong
fuente
7

En OS X 10.8.2, con Python 2.7:

/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh

JohnyMoSwag
fuente
7

En el capitán OSx EI, instalé virtualenvwrapper como

sudo pip3 install virtualenvwrapper

, sin embargo, no puedo encontrar virtualenvwrapper.sh en /user/local/bin, finalmente se encontró en /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper.sh, y puede hacer un enlace suave a / usr / local / bin como

ln -s /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper.sh /usr/local/bin/virtualenvwrapper.sh, y todo lo que puede seguir la guía de configuración como lo hace el documento oficial. ¡Buena suerte!

Shawn Zhang
fuente
5

Para mí fue en:

~/Library/Python/2.7/bin/virtualenvwrapper.sh

(Con OS X, con una pip install --userinstalación)

vmonteco
fuente
4

Tengo el mismo problema. Si tiene una versión anterior de virtualenvwrapper, pip no funcionará.

descargue src desde http://pypi.python.org/pypi/virtualenvwrapper/3.6 e instale python setup.py. Entonces el problema resuelto.

haijin
fuente
Trabajó para mi. Gracias
Sergey Goliney
4

Para distribuciones basadas en RPM (como Fedora 19), después de ejecutar el sudo pip install virtualenvwrappercomando, puede encontrar el archivo en:

/usr/bin/virtualenvwrapper.sh
Diego dos Santos
fuente
En Manjaro, basado en arco, también se encontraba debajo de en /usr/binlugar de /usr/local/bin. No se porque.
Reuel Ribeiro
3

Lo instalé usando pip en Ubuntu 15.10 usando un usuario normal, lo puse en el ~/.local/bin/virtualenvwrapper.shque encontré ejecutando:

$ find / -name virtualenvwrapper.sh 2>/dev/null

tayfun
fuente
2

Utilizando

find / -name virtualenvwrapper.sh

Obtuve una TONELADA de "permisos denegados", y exactamente una copia impresa de la ubicación del archivo. Lo perdí hasta que encontré la ubicación del archivo cuando lo desinstalé / volví a instalar con pip.

En caso de que tuviera curiosidad, estaba en

/usr/local/share/python/virtualenvwrapper.sh
Aviendha
fuente
2
para deshacerse de 'permiso denegado' puede redirigir STDERR a / dev / null. Por ejemplo: $ find / -name virtualenvwrapper.sh 2> / dev / null
psycat
2

En mi caso (OSX El Capitan, versión 10.11.5) necesitaba editar el .profile así:

En la terminal:

vim ~ / .profile

export WORKON_HOME=$HOME/.virtualenvs
export MSYS_HOME=C:\msys\1.0
source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh                                                                                   

Y luego vuelva a cargar el perfil (que estará disponible en la sesión actual).

fuente ~ / .profile

Espero que ayude a alguien.

Idan Magled
fuente
2

Puedo encontrar uno en macOS Mojave (10.14) mientras juego con virtualenvwrapper-4.8.4

/Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh

svetkesh
fuente
1

Aunque esta es una pregunta de OS X, esto es lo que funcionó para mí en Linux (Red Hat).

Mi virtualwrapper.sh estaba en

~/.local/bin/virtualenvwrapper.sh

Esto probablemente se deba a que instalé virtualenvwrapper localmente, usando la --userbandera ...

pip install --user virtualenvwrapper

... como alternativa a la práctica arriesgada de usar sudo pip.

jkdev
fuente
1
/usr/share/virtualenvwrapper/virtualenvwrapper.sh

Lo instalé en Ubuntu 16.04 y resultó en esta ubicación.

Lora Holmes
fuente
Esto me pasó a mí también. :(
Siladittya
0
/usr/local/bin/virtualenvwrapper.sh
usuario650654
fuente
3
No such file or directoryTambién he echado un vistazo al directorio / bin / usr / local y no pude encontrar nada que se relaciona con virtualenv o virtualenvwrapper
zakdances
0

Tuve el mismo problema con el hueso beagle negro (debian).

La descarga manual del paquete y la instalación me funcionaron.

Sudeep
fuente
0

Para Ubuntu
Si acaba de instalarlo, verifique el resultado en Terminal, estoy publicando el mío:

Running setup.py install for virtualenv-clone    
Installing virtualenv-clone script to /home/username/.local/bin
Successfully installed virtualenvwrapper virtualenv virtualenv-clone stevedore pbr six
Cleaning up...

Aquí la segunda línea te dice el camino. Para mí fue a las/home/username/.local/bin

abhinavDAIICT
fuente
0

pip no intentará complicarte las cosas a propósito.

La cuestión es que los archivos basados ​​en comandos siempre se instalan en /bincarpetas, pueden estar en cualquier lugar de la ruta del sistema.

Tuve el mismo problema y descubrí que tengo estos archivos en mi

~/.local/bin/

carpeta en lugar de

/usr/loca/bin/

que es el caso común, pero creo que cambiaron la ruta predeterminada a

~ o $ HOME

directorio porque está más aislado para las instalaciones de pip y proporciona una distinción entre paquetes apt-get y paquetes de pip.

Entonces, llegando al punto, tiene dos opciones aquí: vaya a su .bashrc y realice cambios como este

# for virtualenv wrapper
export WORKON_HOME=$HOME/Envs
export PROJECT_HOME=$HOME/Devel
source $HOME/.local/bin/virtualenvwrapper.sh

y luego crear un directorio virtualenvwrapper debajo /usr/share/y luego vincular su virtualwrapper_lazy.sh de esta manera

sudo ln -s ~/.local/bin/virtualenvwrapper_lazy.sh /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh

y puede verificar si su comando workon está funcionando, lo que enumerará sus virtualenv existentes.

naveen.panwar
fuente
0

Si ejecutas pip install virtualenvwrapper sin sudo como un usuario normal, se ejecutará pip pero no copiará los archivos en las ubicaciones requeridas debido a la falta de permisos.

mortiz@florida:~# sudo pip3 install virtualenvwrapper

Use sudo y los archivos se crearán bajo sus respectivas rutas:

root@florida:/usr/local/bin# ls -ltr
total 8008
-rwxr-xr-x 1 root staff 8136192 Jun 11 17:45 chromedriver
-rwxr-xr-x 1 root staff   41697 Sep  5 16:06 virtualenvwrapper.sh
-rwxr-xr-x 1 root staff    2210 Sep  5 16:06 virtualenvwrapper_lazy.sh
-rwxr-xr-x 1 root staff     215 Sep  5 16:06 pbr
-rwxr-xr-x 1 root staff     218 Sep  5 16:06 virtualenv-clone
-rwxr-xr-x 1 root staff     213 Sep  5 16:06 virtualenv
root@florida:/usr/local/bin# 

Trabajó para mí en Debian GNU / Linux 9

Miguel Ortiz
fuente
-1

en mi caso: /home/username/.local/bin/virtualenvwrapper.sh

Yuanxu Xu
fuente
-2

¿Lo has instalado usando sudo? Fue el error en mi caso.

Bruce
fuente