Gdzie jest virtualenvwrapper.sh?

35

Nie wiem, co jest bardziej zawstydzające: że nie wiem, jak samodzielnie znaleźć odpowiedź na to pytanie, lub że w ogóle trzeba go zadać, ale ...

gdzie apt-getumieszcza virtualenvwrapper.shskrypt po jego zainstalowaniu virtualenvwrapper?

Jestem u kresu rozumu ...

% sudo apt-get install virtualenvwrapper
...
% rehash
% which virtualenvwrapper.sh
virtualenvwrapper.sh not found
% which virtualenvwrapper
virtualenvwrapper not found
% find / -path /media -prune -o -name virtualenvwrapper.sh
/media
% dpkg-query -L virtualenvwrapper | grep 'virtualenvwrapper\.sh'
% sudo apt-get install virtualenvwrapper
Reading package lists...
Building dependency tree...
Reading state information...
virtualenvwrapper is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Zabrakło mi rzeczy do wypróbowania: apt-getmówi, że virtualenvwrapperjest już zainstalowany, ale virtualenvwrapper.shnigdzie nie mogę znaleźć żadnych oznak .

AKTUALIZACJA: Właśnie odkryłem, że plik

/etc/bash_completion.d/virtualenvwrapper

... wygląda bardzo podobnie virtualenvwrapper.sh. Nie mogę powiedzieć, czy ten plik został tam umieszczony, apt-getkiedy go uruchomiłem apt-get install virtualenvwrapper(data pliku to kilka miesięcy temu), ale jeśli tak, to jestem zaskoczony pozorną głupotą aranżacji ... Po pierwsze, nie wszyscy używają bash(ja używam zsh). Po drugie, ktoś może chcieć uruchamiać się virtualenvwrapper.shw innych momentach niż uruchomienie ... Jestem pewien, że brakuje mi czegoś ważnego, ale na pierwszy rzut oka wygląda na to, że apt-getinstalacja virtualenvwrapperjest opóźniona ... W każdym razie zmarnowałem około trzech godzin mojego czasu ...

kjo
źródło
2
Inny użytkownik zsh tutaj ... równie dobrze może przestać używać oficjalnego pakietu dla virtualenvwrapper, mniej niespodzianek w ten sposób!
kaleissin,
Możesz również pobrać /etc/bash_completion.d/virtualenvwrapperw Zsh. Działa dobrze, jak jest.
Jim Stewart
@JimStewart Mogę robić wiele rzeczy. Istotą pakietu jest to, że nie muszę.
Melvyn,

Odpowiedzi:

40

Od /usr/share/doc/virtualenvwrapper/README.Debian:

W przeciwieństwie do informacji w
/usr/share/doc/virtualenvwrapper/en/html/index.html instaluje ten pakiet
virtualenvwrapper.sh jako /etc/bash_completion.d/virtualenvwrapper.

Virtualenvwrapper jest włączony, jeśli zainstalujesz pakiet bash-complete i
włącz obsługę uzupełniania basha w /etc/bash.bashrc lub w twoim ~ / .bashrc.

Jeśli chcesz korzystać tylko z virtualenvwrapper, możesz po prostu dodać

 źródło /etc/bash_completion.d/virtualenvwrapper

do twojego ~ / .bashrc.

Tak, trudno jest znaleźć: D

phoibos
źródło
2
Co z zshużytkownikami? Świetnie, kolejny pakiet, który zachowuje się inaczej w każdym systemie operacyjnym. Myślę, że sudo apt-get purge virtualenvwrappera sudo pip install virtualenvwrapperjest w porządku.
metakermit
1
Możesz również pobrać /etc/bash_completion.d/virtualenvwrapperw Zsh. Działa dobrze, jak jest.
Jim Stewart
1

Na Ubuntu


Lokalizacja skryptu to:

/usr/share/virtualenvwrapper/virtualenvwrapper.sh


Więc jeśli zainstalowałeś virtualenvwrapper z menedżerem pakietów, musisz dodać następujące wiersze do ~ / .bashrc :

export WORKON_HOME=~/.virtualenvs
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh


Pamiętaj również, aby ponownie załadować plik ~ / .bashrc za pomocą:

$ source ~/.bashrc


Jeśli wszystko działało dobrze, będziesz mógł uruchomić mkvirtualenv w następujący sposób :

mkvirtualenv --python="/usr/bin/python3" venv_name
marcelfox
źródło