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?

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


83

czy już tego próbowałeś?

$ which virtualenvwrapper.sh

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.


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)


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


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

7

W systemie OS X 10.8.2 z Pythonem 2.7:

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


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!


5

U mnie to było w:

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

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



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

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


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

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.


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


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.


1
/usr/share/virtualenvwrapper/virtualenvwrapper.sh

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


Mnie też się to przytrafiło. :(
Siladittya,

0
/usr/local/bin/virtualenvwrapper.sh

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.


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


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.


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



-2

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.