PyenV-VirtualEnv adalah plugin PyenV yang menyediakan fitur untuk mengelola virtualEnvs dan lingkungan Conda untuk Python pada sistem seperti unix.
(Perhatikan: Jika Anda adalah pengguna VirtualEnvwrapper yang sudah ada dan Anda menyukainya, PyenV-VirtualEnvwrapper dapat membantu Anda (tambahan) untuk mengelola VirtualEnvs Anda.)
Ini akan menginstal versi pengembangan terbaru dari PyenV-VirtualEnv ke dalam direktori $(pyenv root)/plugins/pyenv-virtualenv
.
Catatan penting: Jika Anda menginstal PyenV ke direktori non-standar, pastikan Anda mengkloning repo ini ke direktori 'plugin' dari mana pun Anda menginstal ke dalam.
Dari dalam direktori itu Anda bisa:
git pull
untuk mengunduh perubahan terbaru.Lihat PyenV-VirtualEnv ke Direktori Plugin
git clone https://github.com/pyenv/pyenv-virtualenv.git $( pyenv root ) /plugins/pyenv-virtualenv
Untuk cangkang ikan:
git clone https://github.com/pyenv/pyenv-virtualenv.git (pyenv root)/plugins/pyenv-virtualenv
(Opsional) Tambahkan pyenv virtualenv-init
ke shell Anda untuk mengaktifkan aktivasi otomatis virtualEnvs. Ini sepenuhnya opsional tetapi cukup berguna. Lihat "Aktifkan VirtualEnv" di bawah ini.
echo ' eval "$(pyenv virtualenv-init -)" ' >> ~ /.bashrc
Catatan cangkang ikan : tambahkan ini ke ~/.config/fish/config.fish
Anda
status --is-interactive ; and pyenv virtualenv-init - | source
Zsh Catatan : Ubah file ~/.zshrc
Anda alih -alih ~/.bashrc
.
Restart cangkang Anda untuk mengaktifkan pyenv-virtualenv
exec " $SHELL "
Pengguna MacOS dapat menginstal PyenV-VirtualEnv dengan Homebrew Package Manager. Ini akan memberi Anda akses ke perintah pyenv-virtualenv
. Jika Anda telah menginstal PyenV, Anda juga akan dapat menggunakan perintah pyenv virtualenv
.
Ini adalah metode pemasangan yang disarankan jika Anda menginstal pyenv dengan homebrew.
brew install pyenv-virtualenv
Atau, jika Anda ingin menginstal rilis pengembangan terbaru:
brew install --HEAD pyenv-virtualenv
Setelah instalasi, Anda masih harus melakukan langkah pengaturan pyenv shell lalu tambahkan
eval " $( pyenv virtualenv-init - ) "
ke file .rc
shell Anda (sebagaimana dinyatakan dalam peringatan). Anda hanya perlu melakukan ini sekali.
pyenv virtualenv
dengan pyenv Untuk membuat VirtualEnv untuk versi Python yang digunakan dengan PyenV, jalankan pyenv virtualenv
, menentukan versi Python yang Anda inginkan dan nama Direktori VirtualEnv. Misalnya,
pyenv virtualenv 2.7.10 my-virtual-env-2.7.10
akan membuat virtualEnv berdasarkan Python 2.7.10 di bawah $(pyenv root)/versions
dalam folder yang disebut my-virtual-env-2.7.10
.
pyenv virtualenv
meneruskan opsi apa pun ke perintah yang mendasari yang benar -benar menciptakan lingkungan virtual ( conda
, virtualenv
, atau python -m venv
). Lihat output pyenv virtualenv --help
untuk detailnya.
Jika hanya ada satu argumen yang diberikan kepada pyenv virtualenv
, VirtualEnv akan dibuat dengan nama yang diberikan berdasarkan versi PyenV Python saat ini.
$ pyenv version
3.4.3 (set by /home/yyuu/.pyenv/version)
$ pyenv virtualenv venv34
pyenv virtualenvs
menunjukkan kepada Anda daftar lingkungan virtualEnvs dan conda
yang ada.
$ pyenv shell venv34
$ pyenv virtualenvs
miniconda3-3.9.1 (created from /home/yyuu/.pyenv/versions/miniconda3-3.9.1)
miniconda3-3.9.1/envs/myenv (created from /home/yyuu/.pyenv/versions/miniconda3-3.9.1)
2.7.10/envs/my-virtual-env-2.7.10 (created from /home/yyuu/.pyenv/versions/2.7.10)
3.4.3/envs/venv34 (created from /home/yyuu/.pyenv/versions/3.4.3)
my-virtual-env-2.7.10 (created from /home/yyuu/.pyenv/versions/2.7.10)
* venv34 (created from /home/yyuu/.pyenv/versions/3.4.3)
Ada dua entri untuk setiap virtualEnv, dan yang lebih pendek hanyalah sebuah symlink.
Beberapa alat eksternal (misalnya Jedi) mungkin mengharuskan Anda untuk activate
lingkungan VirtualEnv dan conda
.
If eval "$(pyenv virtualenv-init -)"
is configured in your shell, pyenv-virtualenv
will automatically activate/deactivate virtualenvs on entering/leaving directories which contain a .python-version
file that contains the name of a valid virtual environment as Ditampilkan dalam output pyenv virtualenvs
(misalnya, venv34
atau 3.4.3/envs/venv34
dalam contoh di atas). File .python-version
digunakan oleh PyenV untuk menunjukkan versi python lokal dan dapat dibuat dan dihapus dengan perintah pyenv local
.
Anda juga dapat mengaktifkan dan menonaktifkan PyenV VirtualEnv secara manual:
pyenv activate < name >
pyenv deactivate
Menghapus direktori dalam $(pyenv root)/versions
dan $(pyenv root)/versions/{version}/envs
akan menghapus virtualEnv, atau Anda dapat menjalankan:
pyenv uninstall my-virtual-env
Anda juga dapat menghapus virtualEnvs yang ada dengan menggunakan perintah virtualenv-delete
, misalnya Anda dapat menjalankan:
pyenv virtualenv-delete my-virtual-env
Ini akan menghapus virtualEnv yang disebut my-virtual-env
.
Ada modul VENV yang tersedia untuk CPYTHON 3.3 dan lebih baru. Ini menyediakan modul yang dapat dieksekusi venv
yang merupakan penerus virtualenv
dan didistribusikan secara default.
pyenv-virtualenv
menggunakan python -m venv
jika tersedia dan perintah virtualenv
tidak tersedia.
Anda dapat mengelola lingkungan conda
dengan conda create
dengan cara yang sama seperti instalasi anaconda/miniconda standar. Untuk menggunakan lingkungan tersebut, Anda dapat menggunakan pyenv activate
dan pyenv deactivate
.
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ conda env list
# conda environments:
#
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv
root * /home/yyuu/.pyenv/versions/miniconda3-3.9.1
$ pyenv activate miniconda3-3.9.1/envs/myenv
discarding /home/yyuu/.pyenv/versions/miniconda3-3.9.1/bin from PATH
prepending /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin to PATH
$ python --version
Python 3.4.3 :: Continuum Analytics, Inc.
$ pyenv deactivate
discarding /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin from PATH
Jika conda
tersedia, pyenv virtualenv
akan menggunakannya untuk membuat lingkungan dengan conda create
.
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ pyenv virtualenv myenv2
$ conda env list
# conda environments:
#
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv2
root * /home/yyuu/.pyenv/versions/miniconda3-3.9.1
Anda dapat menggunakan versi seperti miniconda3-3.9.1/envs/myenv
untuk menentukan lingkungan conda
sebagai versi di PyenV.
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ pyenv shell miniconda3-3.9.1/envs/myenv
$ which python
/home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin/python
Anda dapat mengatur variabel lingkungan tertentu untuk mengontrol pyenv-virtualenv.
PYENV_VIRTUALENV_CACHE_PATH
, jika diatur, menentukan direktori untuk digunakan untuk caching file paket yang diunduh.VIRTUALENV_VERSION
, jika diatur, memaksa pyenv-virtualEnv untuk menginstal versi virtualEnv yang diinginkan. Jika virtualenv
belum diinstal, PyenV-VirtualEnv akan mencoba menginstal versi VirtualEnv yang diberikan.GET_PIP
, jika set dan venv
lebih disukai daripada virtualenv
, gunakan get_pip.py
dari lokasi yang ditentukan.GET_PIP_URL
, jika set dan venv
lebih disukai daripada virtualenv
, unduh get_pip.py
dari URL yang ditentukan.PIP_VERSION
, jika set dan venv
lebih disukai daripada virtualenv
, instal versi PIP yang ditentukan.PYENV_VIRTUALENV_VERBOSE_ACTIVATE
, jika diatur, menunjukkan beberapa output verbose pada aktivasi dan penonaktifanPYENV_VIRTUALENV_PROMPT
, jika diatur, memungkinkan pengguna untuk menyesuaikan bagaimana pyenv-virtualenv
memodifikasi prompt shell mereka. Prompt default ("(venv)") ditimpa dengan teks yang ditentukan pengguna. Tentukan lokasi nama lingkungan virtual dengan string {venv}
. Misalnya, string prompt default adalah ({venv})
. Lihat Changelog.MD.
(Lisensi MIT)
Izin dengan ini diberikan, gratis, kepada siapa pun yang mendapatkan salinan perangkat lunak ini dan file dokumentasi terkait ("Perangkat Lunak"), untuk menangani perangkat lunak tanpa pembatasan, termasuk tanpa batasan hak untuk menggunakan, menyalin, memodifikasi, menggabungkan , menerbitkan, mendistribusikan, sublisense, dan/atau menjual salinan perangkat lunak, dan untuk mengizinkan orang -orang yang dilengkapi dengan perangkat lunak untuk melakukannya, tunduk pada kondisi berikut:
Pemberitahuan hak cipta di atas dan pemberitahuan izin ini harus dimasukkan dalam semua salinan atau bagian substansial dari perangkat lunak.
Perangkat lunak ini disediakan "sebagaimana adanya", tanpa jaminan apa pun, tersurat maupun tersirat, termasuk tetapi tidak terbatas pada jaminan dapat diperjualbelikan, kebugaran untuk tujuan tertentu dan nonpringement. Dalam hal apa pun penulis atau pemegang hak cipta tidak akan bertanggung jawab atas klaim, kerusakan atau tanggung jawab lainnya, baik dalam tindakan kontrak, gugatan atau sebaliknya, timbul dari, di luar atau sehubungan dengan perangkat lunak atau penggunaan atau transaksi lain dalam PERANGKAT LUNAK.