Où est virtualenvwrapper.sh après l'installation de pip?

127

J'essaie de configurer virtualenvwrapper sur OSX, et toutes les instructions et didacticiels que j'ai trouvés me disent d'ajouter une commande source à .profile, pointant vers virtualenvwrapper.sh. J'ai vérifié tous les répertoires python et site-packages, et je ne trouve aucun virtualenvwrapper.sh. Est-ce quelque chose que je dois télécharger séparément? Pip ne s'installe pas correctement?

Voici le contenu 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

Comme vous pouvez le voir, pas de virtualenvwrapper.sh. Où est-ce?

zakdances
la source

Réponses:

158

Vous pouvez utiliser la findcommande pour rechercher un fichier:

find / -name virtualenvwrapper.sh

Cela recherchera le fichier dans tous les répertoires depuis la racine.


sur ubuntu 12.04 LTS, installation via pip, il est installé sur

/usr/local/bin/virtualenvwrapper.sh


sur ubuntu 17.04, en installant via pip en tant qu'utilisateur normal, il est installé sur

~/.local/bin/virtualenvwrapper.sh

dm03514
la source
83

avez-vous déjà essayé cela?

$ which virtualenvwrapper.sh
hepidad
la source
cela fonctionne, mais pourquoi ne which virtualenvwrapperfonctionne pas ? N'est-ce pas le nom de la commande dans les variables d'environnement?
zakdances
10
Pour aider quiconque se pose la même question sur les raisons pour lesquelles whichcela ne fonctionne pas, c'est parce que virtualenvwrapper utilise en fait son fichier de complétion bash personnalisé pour ajouter des commandes purement virtuelles, dont la virtualenvwrappercommande commune fait partie. Par conséquent, il n'y a pas de fichier physique sur le lecteur whichvers lequel pointer.
Tim
1
@yourfriendzak, le script bash virtualenvwrapper.shdoit être source dans votre shell avant l' une des commandes ( mkvirtualenv, rmvirtualenv, etc.) sont disponibles, soit $ source /path/to/virtualenvwrapper.sh
tenfishsticks
C'était beaucoup plus rapide que findmais les deux ont fonctionné. Le mien était situé dans usr/local/binle OS X.
danagerous
54

Je viens de le réinstaller avec pip.

sudo pip uninstall virtualenvwrapper
sudo pip install virtualenvwrapper

Et cette fois, il l'a mis dans / usr / local / bin.

user2625596
la source
Cela a fonctionné pour moi sur Ubuntu, permettant également which virtualenvwrapper.shde travailler, qui n'avait rien retourné jusqu'à ce que je fasse cela.
eddiemoya
Après cette commande sur Fedora 23, j'ai trouvé virtualenvwrapper.sh uniquement dans usr / bin.
tomaskazemekas
1
Je l'avais initialement installé avec apt-getet il a atterri /usr/share/virtualenvwrapper/virtualenvwrapper.sh, puis l'a purgé et a fait votre tour.
Hauke
Cela a fonctionné pour moi dans Ubuntu 14.04 si vous find / -name xxxx.shne trouvez rien.
alanwsx
48

Le chemin exact où virtualenvwrapper.sh est stocké / localisé varie d'un système d'exploitation à l'autre . Même avec le même système d'exploitation, cela varie d'une version à l'autre. Nous avons donc besoin d'une solution générique qui fonctionne pour toutes les versions de système d'exploitation.

Le moyen le plus simple que j'ai trouvé pour trouver son chemin est :

pip uninstall virtualenvwrapper

Cela demandera une confirmation. Dites "Non" Mais la première ligne de confirmation montre le chemin de virtualenvwrapper.sh (l'invite donne une liste des fichiers qu'elle supprimera, si vous dites Oui. La première entrée de cette liste contient le chemin vers virtualenvwrapper.sh sur votre machine)

Anuj Gupta
la source
Cela n'a pas fonctionné pour moi. J'utilise Python 2.7.14 avec Virtualenv 15.1.0, virtualenvwrapper 4.8.2.
whyisyoung
@whyisyoung: sérieusement? pouvez-vous m'envoyer la capture d'écran juste après avoir exécuté "pip uninstall virtualenvwrapper"
Anuj Gupta
1
Joli raccourci. J'utilise cela même pour d'autres bibliothèques. Remercier!
Mahesh Vemula
15

ou, comme je l'ai fait .. il suffit de désinstaller virtualenvwrapper

sudo pip désinstaller virtualenvwrapper

puis installez-le avec easy_install

sudo easy_install virtualenvwrapper

cette fois, j'ai trouvé le fichier " /usr/local/bin/virtualenvwrapper.sh " installé ... Avant cela, je ne trouvais ce fichier nulle part même par cette commande

find / -name virtualenvwrapper.sh

iMitwe
la source
11

Sur Mac OS

which virtualenvwrapper.sh

tu as

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

et tu peux

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

et dans votre .bash_profile

source /usr/local/bin/virtualenvwrapper.sh

ou tu peux

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

Sous OS X 10.8.2, avec Python 2.7:

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

JohnyMoSwag
la source
7

Dans OSx EI captain, j'ai installé le virtualenvwrapper comme

sudo pip3 install virtualenvwrapper

, cependant je ne trouve pas le virtualenvwrapper.sh dans /user/local/bin, il a finalement été trouvé à /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper.sh, et vous pouvez créer un lien logiciel vers / usr / local / bin comme

ln -s /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper.sh /usr/local/bin/virtualenvwrapper.sh, et tout ce que vous pouvez simplement suivre le guide d'installation comme le fait le document officiel. Bonne chance!

Shawn Zhang
la source
5

Pour moi, c'était dans:

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

(Avec OS X, avec une pip install --userinstallation)

vmonteco
la source
4

J'ai le même problème. Si vous avez une ancienne version de virtualenvwrapper, alors pip ne fonctionnera pas.

téléchargez src depuis http://pypi.python.org/pypi/virtualenvwrapper/3.6 et installez python setup.py. Ensuite, le problème a été résolu.

haijin
la source
A travaillé pour moi. Merci
Sergey Goliney
4

Pour les distributions basées sur RPM (comme Fedora 19), après avoir exécuté la sudo pip install virtualenvwrappercommande, vous pouvez trouver le fichier à l'adresse:

/usr/bin/virtualenvwrapper.sh
Diego dos Santos
la source
Sur Manjaro, basé sur l'arc, il était également situé sous /usr/binau lieu de /usr/local/bin. Je ne sais pas pourquoi.
Reuel Ribeiro le
3

Installé à l'aide de pip sur Ubuntu 15.10 en utilisant un utilisateur normal, il a été mis dans ~/.local/bin/virtualenvwrapper.shlequel j'ai trouvé en exécutant:

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

tayfun
la source
2

En utilisant

find / -name virtualenvwrapper.sh

J'ai eu une tonne de "permissions refusées", et exactement une impression de l'emplacement du fichier. Je l'ai manqué jusqu'à ce que je trouve cet emplacement de fichier lorsque je le désinstalle / l'installe à nouveau avec pip.

Au cas où vous étiez curieux, c'était en

/usr/local/share/python/virtualenvwrapper.sh
Aviendha
la source
2
pour vous débarrasser de «permission refusée», vous pouvez rediriger STDERR vers / dev / null. Par exemple: $ find / -name virtualenvwrapper.sh 2> / dev / null
psycat
2

Dans mon cas (OSX El Capitan, version 10.11.5), j'avais besoin de modifier le .profile comme ceci:

Dans le 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                                                                                   

Et puis rechargez le profil (qu'il sera disponible dans la session en cours.)

source ~ / .profile

J'espère que cela aidera quelqu'un.

Idan Magled
la source
2

Je peux en trouver un dans macOS Mojave (10.14) tout en jouant avec virtualenvwrapper-4.8.4

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

Svetkesh
la source
1

Bien que ce soit une question OS X, voici ce qui a fonctionné pour moi sous Linux (Red Hat).

Mon virtualwrapper.sh était dans

~/.local/bin/virtualenvwrapper.sh

C'est probablement parce que j'ai installé virtualenvwrapper localement, en utilisant le --userdrapeau ...

pip install --user virtualenvwrapper

... comme alternative à la pratique risquée de l'utilisation sudo pip.

jkdev
la source
1
/usr/share/virtualenvwrapper/virtualenvwrapper.sh

Je l'ai installé sur Ubuntu 16.04 et cela a abouti à cet emplacement.

Lora Holmes
la source
Cela m'est arrivé aussi. :(
Siladittya
0
/usr/local/bin/virtualenvwrapper.sh
user650654
la source
3
No such file or directoryJ'ai également parcouru le répertoire / usr / local / bin et je n'ai rien trouvé qui semblait lié à virtualenv ou virtualenvwrapper
zakdances
0

J'ai eu le même problème avec le beagle bone black (debian).

Le téléchargement manuel du package et l'installation ont fonctionné pour moi.

Sudeep
la source
0

Pour Ubuntu
Si vous venez de l'installer, vérifiez la sortie sur Terminal, je poste la mienne:

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...

Ici, la deuxième ligne vous indique le chemin. Pour moi c'était à/home/username/.local/bin

abhinavDAIICT
la source
0

pip n'essaiera pas de vous rendre les choses difficiles exprès.

Le fait est que les fichiers basés sur les commandes sont toujours installés dans /bin dossiers où ils peuvent se trouver n'importe où sur le chemin du système.

J'ai eu le même problème et j'ai constaté que j'avais ces fichiers dans mon

~/.local/bin/

dossier au lieu de

/usr/loca/bin/

ce qui est le cas courant, mais je pense qu'ils ont changé le chemin par défaut pour

~ ou $ HOME

car il est plus isolé pour les installations pip et fournit une distinction entre les packages apt-get et les packages pip.

Donc, en arrivant au point que vous avez deux choix ici, soit vous allez dans votre .bashrc et faites des changements comme celui-ci

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

et que créer un répertoire virtualenvwrapper sous et que créer un /usr/share/lien symbolique avec votre virtualwrapper_lazy.sh comme ceci

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

et vous pouvez vérifier si votre commande workon fonctionne, ce qui listera vos virtualenv existants.

naveen.panwar
la source
0

Si vous exécutez pip install virtualenvwrappersans sudo en tant qu'utilisateur normal, pip s'exécutera mais ne copiera pas les fichiers aux emplacements requis en raison du manque d'autorisations.

mortiz@florida:~# sudo pip3 install virtualenvwrapper

Utilisez sudo et les fichiers seront créés sous leurs chemins respectifs:

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# 

A travaillé pour moi sur Debian GNU / Linux 9

Miguel Ortiz
la source
-1

dans mon cas: /home/username/.local/bin/virtualenvwrapper.sh

Yuanxu Xu
la source
-2

L'avez-vous installé en utilisant sudo? C'était l'erreur dans mon cas.

Bruce
la source