Masalah saya adalah saya baru saja pindah proyek saya dengan virtualenv ke lokasi lain, karena activate
ini skrip memiliki salah VIRTUAL_ENV
jalan.
$ cat path_to_your_env/bin/activate
... # some declarations
VIRTUAL_ENV="/path_to_your_env/bin/python" # <-- THIS LINE
export VIRTUAL_ENV
... # some declarations
Untuk memperbaikinya, perbarui saja VIRTUAL_ENV
di activate
skrip.
Anda juga mungkin perlu memperbaiki baris pertama bin/pip
Anda untuk menautkan ke jalur python asli.
Jika Anda tidak mendapatkan program yang which
mengatakan Anda harus mendapatkan, Anda perlu melihat rantai lebih tinggi daripada pelaksana platform. Shell biasanya memiliki cara untuk perintah alias dan pada sebagian besar shell unxy Anda cukup memasukkan alias
untuk melihat perintah mana yang telah dipetakan ulang. Maka itu hanya masalah membuka file konfigurasi untuk shell Anda dan menghapus aliasnya.
Terkadang orang alias python
untuk mencoba memilah python mana yang harus mereka gunakan. Tapi biasanya ada cara lain yang lebih baik. Di mesin linux saya, misalnya, python3
ada di jalur tetapi merupakan symlink ke python asli yang saya gunakan.
[email protected] ~ $ which python3
/usr/bin/python3
[email protected] ~ $ ls -l /usr/bin/python3
lrwxrwxrwx 1 root root 9 Feb 17 2016 /usr/bin/python3 -> python3.4
[email protected] ~ $
Ini bagus karena program non-shell yang menjalankan python mendapatkan yang sama dengan yang saya lakukan dan lingkungan virtual bekerja secara alami.
Seperti yang disarankan tdelaney di komentar, saya menjalankan alias
dan ternyata saya sebelumnya telah membuat alias python
ke /usr/bin/python3.5
di .bashrc
saya .
Saya menghapus alias itu dari .bashrc
saya , jalankan unalias python
, dan source ~/.bashrc
dan masalahnya terpecahkan.
Di Cygwin, saya masih mengalami masalah bahkan setelah saya membuat symlink ke titik /usr/bin/python
ke F:\Python27\python.exe
. Di sini, setelah source env/Scripts/activate
, which python
masih /usr/bin/python
.
Setelah sekian lama, saya menemukan solusinya. Alih-alih menggunakan virtualenv env
, Anda harus menggunakan virtualenv -p F:\Python27\python.exe env
meskipun Anda telah membuat symlink.