Diperbarui lagi:
Metode berikut ini mungkin tidak berfungsi di versi virtualenv yang lebih baru. Sebelum Anda mencoba membuat modifikasi ke virtualenv lama, Anda harus menyimpan dependensi dalam file persyaratan (pip freeze > requirements.txt
) dan membuat cadangannya di tempat lain. Jika terjadi kesalahan, Anda masih dapat membuat virtualenv baru dan menginstal dependensi lama di dalamnya (pip install -r requirements.txt
).
Diperbarui: Saya mengubah jawaban 5 bulan setelah saya awalnya menjawab. Metode berikut ini lebih nyaman dan kuat.
Efek samping: itu juga memperbaikiSymbol not found: _SSLv2_method
pengecualian ketika Anda melakukannyaimport ssl
di lingkungan virtual setelah memutakhirkan Python ke v2.7.8.
Pemberitahuan: Saat ini, ini adalah untuk 2.7.x Python hanya .
Jika Anda menggunakan Homebrew Python di OS X, pertama deactivate
semua virtualenv, kemudian tingkatkan Python:
brew update && brew upgrade python
Jalankan perintah berikut ( <EXISTING_ENV_PATH>
adalah jalur lingkungan virtual Anda):
cd <EXISTING_ENV_PATH>
rm .Python
rm bin/pip{,2,2.7}
rm bin/python{,2,2.7}
rm -r include/python2.7
rm lib/python2.7/*
rm -r lib/python2.7/distutils
rm lib/python2.7/site-packages/easy_install.*
rm -r lib/python2.7/site-packages/pip
rm -r lib/python2.7/site-packages/pip-*.dist-info
rm -r lib/python2.7/site-packages/setuptools
rm -r lib/python2.7/site-packages/setuptools-*.dist-info
Terakhir, buat kembali lingkungan virtual Anda:
virtualenv <EXISTING_ENV_PATH>
Dengan melakukannya, file inti Python lama dan pustaka standar (plus setuptools
dan pip
) akan dihapus, sementara pustaka kustom dipasang disite-packages
dalamnya dipertahankan dan berfungsi, segera setelah mereka berada di Python murni. Perpustakaan biner mungkin atau mungkin tidak perlu diinstal ulang agar berfungsi dengan benar.
Ini bekerja untuk saya di 5 lingkungan virtual dengan Django diinstal.
BTW, jika ./manage.py compilemessages
tidak berfungsi setelah itu, coba ini:
brew install gettext && brew link gettext --force