Saya memiliki virtualenv yang ada dengan banyak paket tetapi versi lama Django.
Yang ingin saya lakukan adalah menduplikasi lingkungan ini sehingga saya memiliki lingkungan lain dengan paket yang sama persis tetapi versi yang lebih baru dari Django. Bagaimana saya bisa melakukan ini?
python
django
virtualenv
dolma33
sumber
sumber
virtualenv -p /path/to/older/venv/bin/python new_venv
dan kemudian menggunakanrequirements.txt
yang Anda hasilkan setelahpip freeze
Jawaban:
Cara termudah adalah menggunakan pip untuk menghasilkan file persyaratan. File persyaratan pada dasarnya adalah file yang berisi daftar semua paket python yang ingin Anda instal (atau sudah diinstal dalam kasus file yang dihasilkan oleh pip), dan apa versi mereka.
Untuk menghasilkan file persyaratan, buka virtualenv asli Anda, dan jalankan:
Ini akan menghasilkan file requirement.txt untuk Anda. Jika Anda membuka file itu di editor teks favorit Anda, Anda akan melihat sesuatu seperti:
Sekarang, edit baris yang mengatakan
Django==x.x
untuk mengatakanDjango==1.3
(atau versi apa pun yang ingin Anda instal di virtualenv baru Anda).Terakhir, aktifkan virtualenv baru Anda , dan jalankan:
Dan pip akan secara otomatis mengunduh dan menginstal semua modul python yang tercantum dalam file requirement.txt Anda , pada versi apa pun yang Anda tentukan!
sumber
Could not find a version that satisfies the requirement a_package=#.#.#
Dapatkah saya menyelesaikannya dengan mudah? Saya menghapus garis atau mengubah kesetaraan ke ketidaksetaraan.pyenv
juga. Jawaban yang luar biasa.Pilihan lain adalah menggunakan
virtualenv-clone
paket:sumber
virtualenv-clone
setelah mengaktifkan virtualenvvirtualenvwrapper
menyediakan perintah untuk menggandakan virtualenvsumber
Jika Anda menggunakan Anaconda, Anda dapat menjalankan:
Ini akan menyalin
myenv
ke lingkungan yang baru dibuat yang disebutmyclone
.sumber
Opsi termudah adalah menggunakan
virtualenv-clone
paket.Untuk menduplikasi
venv1
untukvenv2
, ikuti langkah berikut:Instal
virtualenv-clone
di salah satuvenv1
atau lingkungan virtual bonekavenv_dummy
. Untuk membuatvenv_dummy
:Untuk menginstal
virtualenv-clone
:Untuk menggandakan
venv1
kevenv2
:sumber
bin/activate
jika Anda mengikuti jawaban ini. Mengapa Anda harus mengeditbin/activate
?bin/activate
Bisakah Anda tidak hanya:
sumber