Saya bingung ke mana saya harus meletakkan virtualenv saya.
Dengan proyek django pertama saya, saya membuat proyek dengan perintah
django-admin.py startproject djangoproject
Saya kemudian masuk ke direktori djangoproject dan menjalankan perintah
virtualenv env
yang membuat direktori lingkungan virtual pada tingkat yang sama dengan djangoproject
direktori dalam .
Apakah ini tempat yang salah untuk membuat virtualenv untuk proyek khusus ini?
Saya mendapat kesan bahwa kebanyakan orang menyimpan semua virtualenv mereka bersama-sama dalam direktori yang sama sekali berbeda, misalnya ~/virtualenvs
, dan kemudian menggunakan virtualenvwrapper untuk beralih di antara mereka.
Apakah ada cara yang benar untuk melakukan ini?
Mengubah lokasi direktori virtualenv akan merusaknya
Ini adalah salah satu keuntungan meletakkan direktori di luar pohon repositori, misalnya di bawah
~/.virtualenvs
denganvirutalenvwrapper
.Jika tidak, jika Anda menyimpannya di pohon proyek, memindahkan lokasi proyek akan merusak virtualenv.
Lihat: Mengganti nama folder virtualenv tanpa merusaknya
Ada
--relocatable
tetapi diketahui tidak sempurna.Keuntungan kecil lainnya: Anda tidak perlu melakukannya
.gitignore
.Keuntungan meletakkannya di pohon proyek itu sendiri adalah:
sumber
Tempat yang diterima secara umum untuk meletakkannya adalah tempat yang sama dengan instalasi default virtualenvwrapper:
~/.virtualenvs
Terkait: virtualenvwrapper adalah alat luar biasa yang menyediakan singkatan untuk perintah virtualenv umum. http://www.doughellmann.com/projects/virtualenvwrapper/
sumber
Jika Anda menggunakan
pyenv install Python
, maka pyenv-virtualenv akan menjadi praktik terbaik. Jika mengatur.python-version
file, itu dapat secara otomatis mengaktifkan atau menonaktifkan virtual env ketika Anda mengubah folder kerja.Pyenv-virtualenv
juga masukkan semua virtual env ke dalam$HOME/.pyenv/versions
folder.sumber
Dari pengalaman pribadi saya, saya akan merekomendasikan untuk mengatur semua lingkungan virtual dalam satu direktori tunggal. Kecuali seseorang memiliki memori yang sangat tajam dan dapat mengingat file / folder yang tersebar di seluruh sistem file. Bukan penggemar berat menggunakan alat lain hanya untuk mengatur lingkungan virtual. Dalam VSCode jika saya mengkonfigurasi (
python.venvPath
) direktori yang berisi semua lingkungan virtual, secara otomatis dapat mengenali semuanya.sumber