Untuk Python 3.3+ (dengan baru venv
modul built-in baru)
Jawaban Singkat (terlepas dari versinya):
- Tidak ada cara yang bersih dan langsung untuk memindahkan lingkungan virtual
- Buat ulang saja, itu mudah !!
Jawaban panjang:
Pada Python v3.3, virtualenv
telah menjadi modul built-in bernamavenv
.
The --relocatable
pilihan yang disebutkan dalam jawaban lainnya belum termasuk dalamvenv
, dan saat ini tidak ada yang baik, cara yang aman bahwa aku sadar baik mengubah nama atau pindah lingkungan virtual Python.
Namun, ada cara yang cukup sederhana untuk membuat ulang lingkungan virtual, dengan semua paket yang terinstal saat ini. Lihat jawaban ini , atau lihat bagian di bawah ini untuk informasi tentang membuat ulang lingkungan virtual. Selama proses tersebut, Anda dapat menciptakan kembali lingkungan baru di lokasi mana pun dan dengan nama apa pun yang Anda inginkan. Atau lihat bagian di bawah ini untuk prosesnya.
Dalam jawaban itu, dia menyebutkan beberapa paket pihak ke-3 lainnya yang mungkin mendukung penggantian nama atau pemindahan langsung. Jika Anda memutuskan untuk mengejar cara untuk memindahkan lingkungan virtual secara utuh, Anda dapat melihat apakah itu juga berfungsi venv
.
Catatan: Dalam jawaban itu, ini difokuskan pada virtualenv
, bukan venv
. Lihat di bawah untuk mengetahui cara menerjemahkan.
venv
vs. lebih tua virtualenv
sintaks perintah yang
Perintah yang digunakan venv
adalah:
python -m venv
bukan hanya virtualenv
, yang menginstal sebagai perintah dalam paket aslinya. Di mana "python" mengacu pada bagaimana pun Anda menjalankan python Anda yang dapat dieksekusi, yang dapat berupa berbagai hal, seperti:
python
py
atau py -3.7
atau serupa ( Peluncur Python untuk Windows untuk Python 3.3+ dan hanya untuk Windows saat ini)
python3
(konvensi untuk lingkungan linux yang menginstal ganda python 2 dan 3)
- Jika Anda mengalami masalah, gunakan jalur absolut ke python yang dapat dieksekusi yang ingin Anda jalankan: mis
c:\program files\python37\python.exe
Jika Anda tidak yakin versi mana yang sedang dijalankan, Anda selalu python --version
dapat mencari tahu.
Cara membuat ulang lingkungan virtual
Membuat / membuat ulang lingkungan virtual itu mudah dan harus menjadi kebiasaan setelah Anda bekerja dengannya sebentar. Proses ini mencerminkan apa yang akan Anda lakukan untuk mendistribusikan skrip Anda sebagai paket (dengan dependensinya) di paruh pertama, dan kemudian apa yang akan dilakukan seseorang untuk menginstal skrip / paket Anda untuk pengembangan lebih lanjut.
Pertama, dapatkan daftar terbaru dari apa yang ada di lingkungan virtual. Dengan itu aktif, dapatkan versi Python yang digunakannya dan simpan daftar dependensi ke file.
Gunakan python --version
dengan lingkungan virtual yang diaktifkan untuk melihat versi Python yang digunakannya.
- Ini untuk kejelasan - Anda mungkin ingin memperbarui versi Python karena berbagai alasan - setidaknya ke versi tambalan terbaru
- Misalnya, jika venv yang ada menggunakan Python v3.7.4, tetapi sekarang v3.7.6 tidak ada - gunakan v3.7.6 sebagai gantinya, yang seharusnya hanya menyertakan perbaikan keamanan dan bug yang tidak melanggar.
Gunakan python -m pip freeze > requirements.txt
untuk membuat daftar dependensi paket saat ini dan memasukkannya ke dalam requirements.txt
file. Perintah ini pasti berfungsi di Linux atau Git Bash - tidak 100% yakin tentang Powershell atau Command Line di Windows.
Sekarang buat lingkungan virtual baru dan tambahkan dependensi dari yang lama.
Jadikan tempat baru Anda.
- Pastikan Anda menggunakan versi python yang benar yang ingin Anda instal ke venv.
- Jika Anda ingin versi Python yang sama persis:
- Jalankan python langsung dari lingkungan virtual saat ini (dengan itu diaktifkan), dan cukup gunakan
python
sebagai perintah
- Atau gunakan jalur absolut dengan
python.exe
di folder lingkungan virtual
- Untuk entri folder venv baru di perintah:
- Tambahkan jalur absolut atau relatif ke lokasi folder akhir yang diinginkan.
- Gunakan
python -m venv my_new_venv
untuk membuat lingkungan virtual baru di direktori kerja saat ini di my_new_venv
folder baru .
- Nama folder venv akan menjadi nama venv (yang muncul di prompt ketika diaktifkan).
Instal dependensi Anda dari requirements.txt
file.
python -m pip install -r requirements.txt
Anda mungkin perlu menginstal ulang paket lokal yang ada dalam mode pengembangan.
Catatan, jika Anda perlu melihat lokasi spesifik tempat paket diinstal, gunakan:
python -m pip list -v
- Opsi
-v
atau "verbose" akan menambahkan beberapa informasi tambahan tentang setiap paket yang diinstal, termasuk jalur penginstalannya. Ini berguna untuk memastikan Anda menjaga paket virtual, pengguna, dan sistem yang terinstal tetap lurus.
Pada titik ini Anda bisa menghapus folder venv lama dan semua isinya. Saya merekomendasikan menggunakan GUI untuk itu - penghapusan file seringkali permanen dari baris perintah linux, dan kesalahan ketik kecil bisa menjadi berita buruk.