Di mana virtualenvwrapper.sh?

35

Saya tidak tahu apa yang lebih memalukan: bahwa saya sendiri tidak tahu bagaimana mencari jawaban untuk pertanyaan ini, atau harus ditanyakan sama sekali, tapi ...

di mana apt-getmenempatkan virtualenvwrapper.shskrip setelah menginstal virtualenvwrapper?

Aku kehabisan akal ...

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

Saya sudah kehabisan hal untuk dicoba: apt-getkata virtualenvwrappersudah diinstal, tetapi saya tidak dapat menemukan tanda di virtualenvwrapper.shmana pun.

PEMBARUAN: Yah, saya baru menemukan file itu

/etc/bash_completion.d/virtualenvwrapper

... sangat mirip virtualenvwrapper.sh. Saya tidak tahu apakah file ini diletakkan di sana apt-getketika saya berlari apt-get install virtualenvwrapper(file tanggal adalah beberapa bulan yang lalu), tetapi jika ya, maka saya bingung dengan kebodohan pengaturan yang jelas ... Untuk satu hal, tidak semua orang menggunakan bash(saya kebetulan menggunakan zsh). Untuk yang lain, orang mungkin ingin menjalankan virtualenvwrapper.shpada waktu selain startup ... Saya yakin saya kehilangan sesuatu yang besar di sini, tetapi di permukaan, itu pasti terlihat seperti apt-getinstalasi virtualenvwrapperterbelakang ... Bagaimanapun, itu menyia-nyiakan sekitar tiga jam waktu saya ...

kjo
sumber
2
Pengguna zsh lain di sini ... mungkin juga berhenti menggunakan paket resmi untuk virtualenvwrapper, lebih sedikit kejutan seperti itu!
kaleissin
Anda dapat sumber /etc/bash_completion.d/virtualenvwrapperdi zsh juga. Ini berfungsi dengan baik apa adanya.
Jim Stewart
@ JimStewart, saya bisa melakukan banyak hal. Poin dari sebuah paket adalah bahwa saya tidak harus melakukannya.
Melvyn

Jawaban:

40

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

Berbeda dengan informasi dalam
/usr/share/doc/virtualenvwrapper/en/html/index.html paket ini diinstal
virtualenvwrapper.sh sebagai /etc/bash_completion.d/virtualenvwrapper.

Virtualenvwrapper diaktifkan jika Anda menginstal paket bash-completion dan
aktifkan dukungan penyelesaian bash di /etc/bash.bashrc atau ~ / .bashrc Anda.

Jika Anda hanya ingin menggunakan virtualenvwrapper Anda bisa menambahkan

 source /etc/bash_completion.d/virtualenvwrapper

ke ~ / .bashrc Anda

Ya, agak sulit ditemukan: D

phoibos
sumber
2
Bagaimana dengan zshpengguna? Hebat, paket lain yang berperilaku berbeda pada setiap OS. Saya pikir sudo apt-get purge virtualenvwrapperdan sudo pip install virtualenvwrapperdalam rangka.
metakermit
1
Anda dapat sumber /etc/bash_completion.d/virtualenvwrapperdi zsh juga. Ini berfungsi dengan baik apa adanya.
Jim Stewart
1

Di Ubuntu


Lokasi skrip adalah:

/usr/share/virtualenvwrapper/virtualenvwrapper.sh


Jadi jika Anda telah menginstal virtualenvwrapper dengan manajer paket, Anda harus menambahkan baris berikut ke ~ / .bashrc Anda :

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


Juga, ingat untuk memuat ulang ~ / .bashrc Anda dengan:

$ source ~/.bashrc


Jika semuanya bekerja dengan baik, maka Anda akan dapat menjalankan mkvirtualenv seperti:

mkvirtualenv --python="/usr/bin/python3" venv_name
marcelfox
sumber