Wo ist virtualenvwrapper.sh nach der Installation von pip?

126

Ich versuche, virtualenvwrapper unter OSX einzurichten, und alle Anweisungen und Tutorials, die ich gefunden habe, fordern mich auf, .profile einen Quellbefehl hinzuzufügen, der auf virtualenvwrapper.sh zeigt. Ich habe alle Python- und Site-Packages-Verzeichnisse überprüft und kann keine virtualenvwrapper.sh finden. Muss ich das separat herunterladen? Ist pip nicht richtig installiert?

Dies ist der Inhalt von /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

Wie Sie sehen können, keine virtualenvwrapper.sh. Wo ist es?

Zakdances
quelle

Antworten:

157

Mit dem findBefehl können Sie nach einer Datei suchen:

find / -name virtualenvwrapper.sh

Dadurch werden alle Verzeichnisse vom Stamm nach der Datei durchsucht.


Auf Ubuntu 12.04 LTS wird die Installation über Pip installiert

/usr/local/bin/virtualenvwrapper.sh


Unter Ubuntu 17.04 wird die Installation über Pip als normaler Benutzer installiert

~/.local/bin/virtualenvwrapper.sh

dm03514
quelle
83

hast du das schon probiert

$ which virtualenvwrapper.sh
Hepidad
quelle
das funktioniert, aber warum funktioniert das nicht which virtualenvwrapper? Ist das nicht der Name des Befehls in den Umgebungsvariablen?
Zakdances
10
Um allen anderen zu helfen, die dieselbe Frage stellen, warum whichdies nicht funktioniert, verwendet virtualenvwrapper tatsächlich seine benutzerdefinierte Bash-Abschlussdatei, um rein virtuelle Befehle hinzuzufügen, von denen der allgemeine virtualenvwrapperBefehl einer ist. Folglich befindet sich auf dem Laufwerk keine physische Datei, auf die verwiesen werden kann which.
Tim
1
@yourfriendzak, die Bash - Skript virtualenvwrapper.shmuss in der Shell bevor Sie einen der Befehle bezogen werden ( mkvirtualenv, rmvirtualenvusw.) zur Verfügung, das heißt $ source /path/to/virtualenvwrapper.sh
tenfishsticks
Das war viel schneller als findaber beide haben funktioniert. Meins befand sich in usr/local/binOS X.
gefährlich
53

Ich habe es gerade mit pip neu installiert.

sudo pip uninstall virtualenvwrapper
sudo pip install virtualenvwrapper

Und diesmal legte es es in / usr / local / bin.

user2625596
quelle
Dies funktionierte für mich unter Ubuntu und erlaubte auch which virtualenvwrapper.shzu arbeiten, was nichts zurückgegeben hatte, bis ich dies tat.
Eddiemoya
Nach diesem Befehl auf Fedora 23 habe ich virtualenvwrapper.sh nur in usr / bin gefunden.
Tomaskazemekas
1
Hatte es anfangs mit installiert apt-getund landete darin /usr/share/virtualenvwrapper/virtualenvwrapper.sh, löschte es dann und machte Ihren Trick.
Hauke
Dies funktionierte für mich in Ubuntu 14.04, wenn Sie find / -name xxxx.shnichts gefunden haben.
Alanwsx
48

Der genaue Pfad, in dem virtualenvwrapper.sh gespeichert ist, variiert von Betriebssystem zu Betriebssystem . Selbst unter demselben Betriebssystem variiert dies von Version zu Version. Wir brauchen also eine generische Lösung, die für alle Betriebssystemversionen funktioniert.

Der einfachste Weg, den ich gefunden habe, um seinen Weg zu finden, ist : Tun

pip uninstall virtualenvwrapper

Dies führt zu einer Bestätigung. Sagen Sie "Nein". In der ersten Bestätigungszeile wird jedoch der Pfad von virtualenvwrapper.sh angezeigt. (Die Eingabeaufforderung enthält eine Liste der Dateien, die gelöscht werden, wenn Sie "Ja" sagen. Der erste Eintrag in dieser Liste enthält den Pfad zu virtualenvwrapper.sh auf Ihrem Computer.)

Anuj Gupta
quelle
Bei mir hat es nicht funktioniert. Ich verwende Python 2.7.14 mit Virtualenv 15.1.0, virtualenvwrapper 4.8.2.
Whyisyoung
@whyisyoung: ernst? Können Sie mir den Screenshot direkt nach dem Ausführen von "pip uninstall virtualenvwrapper"
senden
1
Schöne Abkürzung. Ich benutze dies sogar für andere Bibliotheken. Danken!
Mahesh Vemula
15

oder, wie ich es getan habe ... deinstalliere einfach virtualenvwrapper

sudo pip deinstalliere virtualenvwrapper

und installieren Sie es dann mit easy_install

sudo easy_install virtualenvwrapper

Dieses Mal fand ich die Datei " /usr/local/bin/virtualenvwrapper.sh " installiert ... Vorher habe ich diese Datei selbst mit diesem Befehl nirgendwo gefunden

find / -name virtualenvwrapper.sh

iMitwe
quelle
11

Unter Mac OS

which virtualenvwrapper.sh

du hast

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

und du kannst

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

und in deinem .bash_profile

source /usr/local/bin/virtualenvwrapper.sh

oder du kannst

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

In OS X 10.8.2 mit Python 2.7:

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

JohnyMoSwag
quelle
7

In OSx EI Captain habe ich den virtualenvwrapper als installiert

sudo pip3 install virtualenvwrapper

, jedoch kann ich die Datei virtualenvwrapper.sh nicht finden /user/local/bin, sie wurde schließlich bei gefunden/Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper.sh , und Sie können einen Softlink zu / usr / local / bin as

ln -s /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper.sh /usr/local/bin/virtualenvwrapper.shund alles, was Sie tun können, folgen Sie einfach der Installationsanleitung wie im offiziellen Dokument. Viel Glück!

Shawn Zhang
quelle
5

Für mich war es in:

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

(Mit OS X mit einer pip install --userInstallation)

vmonteco
quelle
4

Ich habe das gleiche Problem. Wenn Sie eine ältere Version von virtualenvwrapper haben, funktioniert pip nicht.

Laden Sie src von http://pypi.python.org/pypi/virtualenvwrapper/3.6 herunter und installieren Sie python setup.py. Dann ist das Problem gelöst.

Haijin
quelle
Hat für mich gearbeitet. Vielen Dank
Sergey Goliney
4

Bei RPM-basierten Distributionen (wie Fedora 19) sudo pip install virtualenvwrapperfinden Sie die Datei nach dem Ausführen des Befehls unter:

/usr/bin/virtualenvwrapper.sh
Diego dos Santos
quelle
Auf Manjaro, archbasiert, befand es sich auch unter /usr/binstatt /usr/local/bin. Ich weiß nicht warum.
Reuel Ribeiro
3

Installierte es mit pip unter Ubuntu 15.10 unter Verwendung eines normalen Benutzers. Es wurde eingefügt, in ~/.local/bin/virtualenvwrapper.shdem ich Folgendes gefunden habe:

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

tayfun
quelle
2

Verwenden von

find / -name virtualenvwrapper.sh

Ich habe eine TONNE "Verweigerte Berechtigungen" und genau einen Ausdruck des Dateispeicherorts erhalten. Ich habe es verpasst, bis ich diesen Speicherort gefunden habe, als ich es mit pip deinstalliert / erneut installiert habe.

Falls Sie neugierig waren, war es in

/usr/local/share/python/virtualenvwrapper.sh
Aviendha
quelle
2
Um 'Erlaubnis verweigert' loszuwerden, können Sie STDERR nach / dev / null umleiten. Zum Beispiel: $ find / -name virtualenvwrapper.sh 2> / dev / null
psycat
2

In meinem Fall (OSX El Capitan, Version 10.11.5) musste ich das .profile wie folgt bearbeiten:

Im 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                                                                                   

Laden Sie dann das Profil neu (damit es in der aktuellen Sitzung verfügbar ist).

Quelle ~ / .profile

Hoffe es wird jemandem helfen.

Idan Magled
quelle
2

Ich kann einen in macOS Mojave (10.14) finden, während ich mit virtualenvwrapper-4.8.4 spiele

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

svetkesh
quelle
1

Obwohl dies eine OS X-Frage ist, hat Folgendes für mich unter Linux (Red Hat) funktioniert.

Mein virtualwrapper.sh war in

~/.local/bin/virtualenvwrapper.sh

Dies liegt wahrscheinlich daran, dass ich virtualenvwrapper lokal mithilfe des --userFlags installiert habe ...

pip install --user virtualenvwrapper

... als Alternative zur riskanten Praxis des Gebrauchs sudo pip.

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

Ich habe es unter Ubuntu 16.04 installiert und es hat zu diesem Speicherort geführt.

Lora Holmes
quelle
Das ist mir auch passiert. :(
Siladittya
0
/usr/local/bin/virtualenvwrapper.sh
user650654
quelle
3
No such file or directoryIch habe auch das Verzeichnis / usr / local / bin durchsucht und konnte nichts finden, was mit virtualenv oder virtualenvwrapper zu tun hatte
zakdances
0

Ich hatte das gleiche Problem mit dem Beagle Bone Black (Debian).

Das manuelle Herunterladen und Installieren des Pakets hat bei mir funktioniert.

Sudeep
quelle
0

Für Ubuntu
Wenn Sie es gerade installiert haben, überprüfen Sie die Ausgabe auf dem Terminal. Ich poste meine:

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

Hier zeigt Ihnen die zweite Zeile den Pfad. Für mich war es bei/home/username/.local/bin

abhinavDAIICT
quelle
0

pip wird nicht versuchen, es dir absichtlich schwer zu machen.

Die Sache ist, dass befehlsbasierte Dateien immer in installiert sind /bin Ordnern , die sich an einer beliebigen Stelle Systempfad befinden können.

Ich hatte das gleiche Problem und stellte fest, dass ich diese Dateien in meinem habe

~/.local/bin/

Ordner anstelle von

/usr/loca/bin/

Das ist der übliche Fall, aber ich denke, sie haben den Standardpfad in geändert

~ oder $ HOME

Verzeichnis, weil es für die Pip-Installationen isolierter ist und eine Unterscheidung zwischen apt-get-Paketen und pip-Paketen bietet.

Wenn Sie also zu dem Punkt kommen, an dem Sie hier zwei Möglichkeiten haben, gehen Sie entweder zu Ihrem .bashrc und nehmen solche Änderungen vor

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

und dann erstellen Sie ein Verzeichnis virtualenvwrapper unter /usr/share/und dann symlink Ihre virtualwrapper_lazy.sh wie folgt

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

und Sie können überprüfen, ob Ihr Workon- Befehl funktioniert, der Ihre vorhandenen virtuellen Envs auflistet.

naveen.panwar
quelle
0

Wenn Sie pip install virtualenvwrapperohne sudo ausführen, wird ein normaler Benutzer pip ausgeführt, die Dateien werden jedoch aufgrund fehlender Berechtigungen nicht an den erforderlichen Speicherorten kopiert .

mortiz@florida:~# sudo pip3 install virtualenvwrapper

Verwenden Sie sudo und die Dateien werden unter ihren jeweiligen Pfaden erstellt:

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# 

Arbeitete für mich unter Debian GNU / Linux 9

Miguel Ortiz
quelle
-1

in meinem Fall: /home/username/.local/bin/virtualenvwrapper.sh

Yuanxu Xu
quelle
-2

Haben Sie es mit sudo installiert? War der Fehler in meinem Fall.

Bruce
quelle