Gdzie jest virtualenvwrapper.sh po instalacji pip?

127

Próbuję skonfigurować virtualenvwrapper na OSX, a wszystkie instrukcje i samouczki, które znalazłem, mówią mi, żebym dodał polecenie źródła do .profile, wskazując na virtualenvwrapper.sh. Sprawdziłem wszystkie katalogi Python i site-packages i nie mogę znaleźć żadnego virtualenvwrapper.sh. Czy to coś, co muszę pobrać osobno? Czy pip nie instaluje się prawidłowo?

To jest zawartość /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

Jak widać, żaden plik virtualenvwrapper.sh. Gdzie to jest?

zakdances
źródło

Odpowiedzi:

158

Możesz użyć findpolecenia, aby wyszukać plik:

find / -name virtualenvwrapper.sh

Spowoduje to przeszukanie wszystkich katalogów z katalogu głównego w poszukiwaniu pliku.


na ubuntu 12.04 LTS, instalowanie przez pip, jest instalowane na

/usr/local/bin/virtualenvwrapper.sh


w systemie ubuntu 17.04, instalowanie przez pip jako zwykły użytkownik, jest instalowane na

~/.local/bin/virtualenvwrapper.sh

dm03514
źródło
83

czy już tego próbowałeś?

$ which virtualenvwrapper.sh
hepidad
źródło
to działa, ale dlaczego nie which virtualenvwrapperdziała? Czy to nie jest nazwa polecenia w zmiennych środowiskowych?
zakańcze
10
Aby pomóc każdemu zadającemu to samo pytanie, dlaczego whichnie działa, dzieje się tak, ponieważ virtualenvwrapper w rzeczywistości używa swojego niestandardowego pliku uzupełniania bash, aby dodać czysto wirtualne polecenia, z których virtualenvwrapperjednym jest typowe polecenie. W związku z tym na dysku nie ma fizycznego pliku, na który można whichby wskazać.
Tim
1
@yourfriendzak skrypt bash virtualenvwrapper.shmusi być pozyskiwane ze swojej skorupy, zanim którykolwiek z poleceń ( mkvirtualenv, rmvirtualenvetc.) są dostępne, czyli $ source /path/to/virtualenvwrapper.sh
tenfishsticks
To było znacznie szybsze niż, findale oba działały. Mój znajdował się usr/local/binna OS X.
niebezpieczny
53

Właśnie przeinstalowałem go za pomocą pip.

sudo pip uninstall virtualenvwrapper
sudo pip install virtualenvwrapper

Tym razem umieścił go w / usr / local / bin.

user2625596
źródło
To działało dla mnie na Ubuntu, również pozwalając which virtualenvwrapper.shna pracę, która nic nie zwracała, dopóki tego nie zrobiłem.
eddiemoya
Po tym poleceniu w Fedorze 23 znalazłem virtualenvwrapper.sh tylko w usr / bin.
tomaskazemekas
1
Najpierw zainstalowałem go w programie apt-geti wylądował /usr/share/virtualenvwrapper/virtualenvwrapper.sh, a następnie wyczyścił go i wykonał swoją sztuczkę.
Hauke
To zadziałało dla mnie w Ubuntu 14.04, jeśli find / -name xxxx.shnic nie znalazłeś.
alanwsx
48

Dokładna ścieżka, w której jest przechowywany / zlokalizowany virtualenvwrapper.sh, różni się w zależności od systemu operacyjnego . Nawet z tym samym systemem operacyjnym różni się w zależności od wersji. Potrzebujemy więc ogólnego rozwiązania, które działa dla wszystkich wersji systemu operacyjnego.

Najłatwiejszym sposobem znalezienia jego ścieżki jest : Zrób

pip uninstall virtualenvwrapper

Spowoduje to wyświetlenie potwierdzenia. Powiedz „Nie”, ale pierwsza linia potwierdzenia pokazuje ścieżkę do virtualenvwrapper.sh (Podpowiedź podaje listę plików, które usuniesz, jeśli powiesz Tak. Pierwsza pozycja na tej liście zawiera ścieżkę do virtualenvwrapper.sh w Twojej maszynie)

Anuj Gupta
źródło
To mi się nie udało. Używam Pythona 2.7.14 z Virtualenv 15.1.0, virtualenvwrapper 4.8.2.
Whyisyoung
@whyisyoung: poważnie? czy możesz przesłać mi zrzut ekranu zaraz po uruchomieniu "pip uninstall virtualenvwrapper"
Anuj Gupta
1
Niezły skrót. Używam tego nawet dla innych bibliotek. Podziękować!
Mahesh Vemula
15

lub, tak jak ja ... po prostu odinstaluj virtualenvwrapper

sudo pip odinstaluj virtualenvwrapper

a następnie zainstaluj go za pomocą easy_install

sudo easy_install virtualenvwrapper

tym razem znalazłem plik " /usr/local/bin/virtualenvwrapper.sh " zainstalowany ... Wcześniej nigdzie nie znalazłem tego pliku nawet przy pomocy tego polecenia

find / -name virtualenvwrapper.sh

iMitwe
źródło
11

W systemie Mac OS

which virtualenvwrapper.sh

masz

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

i możesz

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

i w swoim .bash_profile

source /usr/local/bin/virtualenvwrapper.sh

lub możesz

source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh
Tianqi Tong
źródło
7

W systemie OS X 10.8.2 z Pythonem 2.7:

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

JohnyMoSwag
źródło
7

W kapitanie OSx EI zainstalowałem virtualenvwrapper jako

sudo pip3 install virtualenvwrapper

, jednak nie mogę znaleźć pliku virtualenvwrapper.sh w /user/local/bin, w końcu został znaleziony pod adresem /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper.shi możesz utworzyć miękki link do / usr / local / bin jako

ln -s /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper.sh /usr/local/bin/virtualenvwrapper.shi wszystko, co możesz zrobić, po prostu postępuj zgodnie z instrukcją konfiguracji, tak jak robi to oficjalny dokument. Powodzenia!

Shawn Zhang
źródło
5

U mnie to było w:

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

(Z OS X, z pip install --userinstalacją)

vmonteco
źródło
4

Mam ten sam problem. Jeśli masz starszą wersję virtualenvwrapper, pip nie zadziała.

pobierz src z http://pypi.python.org/pypi/virtualenvwrapper/3.6 i zainstaluj python setup.py. Wtedy problem został rozwiązany.

haijin
źródło
Pracował dla mnie. Dzięki
Sergey Goliney
4

W przypadku dystrybucji opartych na RPM (takich jak Fedora 19) po uruchomieniu sudo pip install virtualenvwrapperpolecenia plik można znaleźć pod adresem:

/usr/bin/virtualenvwrapper.sh
Diego dos Santos
źródło
Na Manjaro, opartym na łuku, znajdował się również pod /usr/binzamiast /usr/local/bin. Nie wiem dlaczego.
Reuel Ribeiro
3

Zainstalowałem go za pomocą pip na Ubuntu 15.10 przy użyciu zwykłego użytkownika, został umieszczony w ~/.local/bin/virtualenvwrapper.shktórym znalazłem, uruchamiając:

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

tayfun
źródło
2

Za pomocą

find / -name virtualenvwrapper.sh

Otrzymałem TONĘ „odmówiono uprawnień” i dokładnie jeden wydruk lokalizacji pliku. Tęskniłem za tym, dopóki nie znalazłem tej lokalizacji pliku, gdy odinstalowałem / zainstalowałem go ponownie za pomocą pip.

Na wypadek, gdybyś był ciekawy, był w

/usr/local/share/python/virtualenvwrapper.sh
Aviendha
źródło
2
aby pozbyć się „odmowy uprawnień”, możesz przekierować STDERR do / dev / null. Na przykład: $ find / -name virtualenvwrapper.sh 2> / dev / null
psycat
2

W moim przypadku (OSX El Capitan, wersja 10.11.5) musiałem edytować plik .profile w następujący sposób:

W terminalu:

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                                                                                   

Następnie załaduj ponownie profil (że będzie dostępny w bieżącej sesji).

źródło ~ / .profile

Mam nadzieję, że to komuś pomoże.

Idan Magled
źródło
2

Mogę go znaleźć w macOS Mojave (10.14) podczas gry z virtualenvwrapper-4.8.4

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

svetkesh
źródło
1

Chociaż jest to pytanie dotyczące OS X, oto, co zadziałało dla mnie w systemie Linux (Red Hat).

Mój virtualwrapper.sh był w

~/.local/bin/virtualenvwrapper.sh

Dzieje się tak prawdopodobnie dlatego, że zainstalowałem lokalnie virtualenvwrapper, używając --userflagi ...

pip install --user virtualenvwrapper

... jako alternatywa dla ryzykownych praktyk używania sudo pip.

jkdev
źródło
1
/usr/share/virtualenvwrapper/virtualenvwrapper.sh

Zainstalowałem go na Ubuntu 16.04 i spowodowało to tę lokalizację.

Lora Holmes
źródło
Mnie też się to przytrafiło. :(
Siladittya,
0
/usr/local/bin/virtualenvwrapper.sh
user650654
źródło
3
No such file or directoryPrzeglądałem też katalog / usr / local / bin i nie mogłem znaleźć niczego, co wyglądałoby na virtualenv lub virtualenvwrapper
zakdances
0

Miałem ten sam problem z beagle bone black (debian).

Ręczne pobieranie pakietu i instalacja zadziałały.

Sudeep
źródło
0

Dla Ubuntu
Jeśli właśnie go zainstalowałeś, sprawdź dane wyjściowe w Terminalu, publikuję moje:

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

Tutaj druga linia podaje ścieżkę. Dla mnie to było o godz/home/username/.local/bin

abhinavDAIICT
źródło
0

pip nie będzie celowo próbował utrudniać Ci sprawy.

Chodzi o to, że pliki oparte na poleceniach są zawsze instalowane w /binfolderach, które mogą znajdować się w dowolnym miejscu ścieżki systemowej.

Miałem ten sam problem i stwierdziłem, że mam te pliki w swoim

~/.local/bin/

folder zamiast

/usr/loca/bin/

co jest częstym przypadkiem, ale myślę, że zmienili domyślną ścieżkę na

~ lub $ HOME

katalog, ponieważ jest bardziej izolowany dla instalacji pip i zapewnia rozróżnienie między pakietami apt-get i pakietami pip.

A więc dochodząc do punktu, masz dwie możliwości, albo przejdź do swojego .bashrc i dokonaj takich zmian

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

a następnie utwórz katalog virtualenvwrapper pod /usr/share/i następnie dowiązanie symboliczne do twojego virtualwrapper_lazy.sh w ten sposób

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

i możesz sprawdzić, czy działa polecenie workon, które wyświetli listę istniejących virtualenvów.

naveen.panwar
źródło
0

Jeśli wykonasz pip install virtualenvwrapperbez sudo jako normalny użytkownik, pip będzie działał, ale nie skopiuje plików w wymaganych lokalizacjach z powodu braku uprawnień.

mortiz@florida:~# sudo pip3 install virtualenvwrapper

Użyj sudo, a pliki zostaną utworzone pod ich odpowiednimi ścieżkami:

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# 

Pracował dla mnie na Debianie GNU / Linux 9

Miguel Ortiz
źródło
-1

w moim przypadku: /home/username/.local/bin/virtualenvwrapper.sh

Yuanxu Xu
źródło
-2

Czy zainstalowałeś go za pomocą sudo? To był błąd w moim przypadku.

Bruce
źródło