¿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á?

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


83

¿Ya probaste esto?

$ which virtualenvwrapper.sh

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.


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)


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


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

7

En OS X 10.8.2, con Python 2.7:

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


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!


5

Para mí fue en:

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

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



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

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


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

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.


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


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.


1
/usr/share/virtualenvwrapper/virtualenvwrapper.sh

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


Esto me pasó a mí también. :(
Siladittya

0
/usr/local/bin/virtualenvwrapper.sh

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.


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


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.


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



-2

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.