di Windows saya sudah menginstal python 3.7 dan saya masih tidak bisa mengaktifkan virtualenv
dari Gitbash dengan ./Scripts/activate
meskipun itu berfungsi dari Powershell setelah menjalankan Set-ExecutionPolicy Unrestricted
di Powershell dan mengubah pengaturan menjadi "Yes To All".
Saya tidak suka Powershell dan saya suka menggunakan Gitbash, jadi untuk mengaktifkan virtualenv
di Gitbash pertama arahkan ke folder proyek Anda, gunakan ls
untuk membuat daftar isi folder dan pastikan Anda melihat "Skrip". Ubah direktori menjadi "Skrip" menggunakan cd Scripts
, setelah Anda berada di jalur "Skrip" gunakan . activate
untuk mengaktifkan virtualenv
. Jangan lupa spasi setelah titik.
Ya pada dasarnya inilah yang virtualenv lakukan, dan inilah activate
perintah untuk, dari doc di sini:
aktifkan skrip
Dalam virtualenv yang baru dibuat akan ada skrip bin/activate shell, atau file batch Scripts/activate.bat di Windows.
Ini akan mengubah $PATH Anda untuk menunjuk ke bin/direktori virtualenv. Tidak seperti workingenv, hanya ini fungsinya; itu kenyamanan. Tetapi jika Anda menggunakan path lengkap seperti /path/to/env/bin/python script.py Anda tidak perlu mengaktifkan lingkungan terlebih dahulu. Anda harus menggunakan sumber karena mengubah lingkungan di tempat. Setelah mengaktifkan lingkungan, Anda dapat menggunakan fungsi nonaktifkan untuk membatalkan perubahan.
Skrip aktivasi juga akan mengubah permintaan shell Anda untuk menunjukkan lingkungan mana yang sedang aktif.
jadi sebaiknya gunakan saja activate
perintah yang akan melakukan semua itu untuk Anda:
> \path\to\env\bin\activate.bat
Biasanya virtualenv
menciptakan lingkungan di direktori saat ini. Kecuali jika Anda bermaksud membuat lingkungan virtual di C:\Windows\system32
untuk beberapa alasan, saya akan menggunakan direktori yang berbeda untuk lingkungan.
Anda tidak perlu mengacaukan jalur:gunakan activate
skrip (dalam <env>\Scripts
) untuk memastikan bahwa Python dapat dieksekusi dan jalur khusus untuk lingkungan. Setelah Anda melakukan ini, prompt perintah berubah untuk menunjukkan lingkungan. Anda kemudian dapat memanggil easy_install dan apa pun yang Anda instal dengan cara ini akan diinstal ke dalam lingkungan ini. Gunakan deactivate
untuk mengatur semuanya kembali seperti sebelum aktivasi.
Contoh:
c:\Temp>virtualenv myenv
New python executable in myenv\Scripts\python.exe
Installing setuptools..................done.
c:\Temp>myenv\Scripts\activate
(myenv) C:\Temp>deactivate
C:\Temp>
Perhatikan bagaimana saya tidak perlu menentukan jalur untuk deactivate
- activate
apakah itu untuk Anda, sehingga ketika diaktifkan "Python" akan menjalankan Python di virtualenv, bukan Python sistem Anda. (Cobalah - lakukan import sys; sys.prefix
dan itu harus mencetak root dari lingkungan Anda.)
Anda cukup mengaktifkan lingkungan baru untuk beralih antar lingkungan/proyek, tetapi Anda harus menentukan seluruh jalur untuk activate
jadi ia tahu lingkungan mana yang harus diaktifkan. Anda tidak perlu mengutak-atik PATH atau PYTHONPATH secara eksplisit.
Jika Anda menggunakan Windows Powershell maka Anda dapat memanfaatkan pembungkusnya. Di Linux, virtualenvwrapper
(tautan menunjuk ke port ini ke Powershell) membuat hidup dengan virtualenv
bahkan lebih mudah.
Perbarui: Tepatnya tidak salah, tapi mungkin tidak sesuai dengan semangat virtualenv
. Anda dapat mengambil taktik yang berbeda:misalnya, jika Anda menginstal Django dan apa pun yang Anda perlukan untuk situs Anda di virtualenv Anda, maka Anda dapat bekerja di direktori proyek Anda (tempat Anda mengembangkan situs Anda) dengan virtualenv diaktifkan. Karena diaktifkan, Python Anda akan menemukan Django dan apapun yang Anda instal dengan mudah ke dalam lingkungan virtual:dan karena Anda sedang bekerja di direktori proyek Anda, file proyek Anda juga akan terlihat oleh Python.
Pembaruan lebih lanjut: Anda harus dapat menggunakan pip
, distribute
bukannya setuptools
, dan hanya python setup.py install
dengan virtualenv
. Pastikan Anda telah mengaktifkan lingkungan sebelum menginstal sesuatu ke dalamnya.