Saya telah membuat virtualenv menggunakan --no-site-packages
opsi dan menginstal banyak perpustakaan. Sekarang saya ingin mengembalikan --no-site-packages
opsi dan menggunakan juga paket global.
Bisakah saya melakukannya tanpa membuat ulang virtualenv?
Lebih tepatnya:
Saya bertanya-tanya apa yang sebenarnya terjadi ketika membuat virtualenv menggunakan --no-site-packages
opsi yang bertentangan dengan tidak menggunakan opsi itu.
Jika saya tahu apa yang terjadi maka saya bisa mencari cara untuk membatalkannya.
python
virtualenv
Olivier Verdier
sumber
sumber
Jawaban:
Coba hapus (atau ganti nama) file
no-global-site-packages.txt
diLib
folder Anda di bawah lingkungan virtual Anda.Di mana venv adalah nama lingkungan virtual Anda, dan python3.4 sesuai dengan versi python mana pun yang terlibat, misalnya:
Dan jika Anda berubah pikiran dan ingin mengembalikannya:
Catatan: Jika Anda tidak melihat file di atas, maka Anda memiliki versi virtualenv yang lebih baru. Anda ingin mengikuti jawaban ini sebagai gantinya
sumber
virtualenv/python2.7/no-global-site-packages.txt
di server ubuntu saya.virtualenv/pyenv.cfg
file. Ada satu opsi untuk paket situs:include-system-site-packages = false
Ubah nilai ini dan panggil Activate.ps1venv
untukPython 3.4
.Setidaknya untuk Python 3.5.2, ada
pyvenv.cfg
file di root direktori virtualenv. Yang perlu Anda lakukan adalah mengubahinclude-system-site-packages
tanda darifalse
menjaditrue
:sumber
Saat menggunakan virtualenvwrapper untuk mengelola virtualenvs, Anda dapat menggunakan fungsi shell
toggleglobalsitepackages
untuk beralih antara menggunakan dan tidak menggunakan paket situs.sumber
Coba tambahkan symlink antara
/virtualenv_root/lib/
dan/path/to/desired/site-packages/
sumber
no-global-site-packages.txt
tempat.Buka folder venv Anda dan buka
pyvenv.cfg
. (Misalnya jika lingkungan virtual Anda dipanggilmyenv
maka file tersebut akan berlokasi dimyenv\pyvenv.cfg
)Anda akan melihat pengaturan boolean bernama
include-system-site-packages
Tetapkan pengaturan itu
true
untuk menggunakan paket globalJika Anda ingin menonaktifkan menggunakan paket global, cukup setel pengaturan itu
false
sebagai gantinya.sumber