Saya memiliki sistem Debian yang saat ini berjalan dengan python 2.5.4. Saya menginstal virtualenv dengan benar, semuanya bekerja dengan baik. Apakah ada kemungkinan saya bisa menggunakan virtualenv dengan versi Python yang berbeda?
Saya mengkompilasi Python 2.6.2 dan ingin menggunakannya dengan beberapa virtualenv. Apakah itu cukup untuk menimpa file biner? Atau apakah saya harus mengubah sesuatu sehubungan dengan perpustakaan?
Jawaban:
Cukup gunakan opsi
--python
(atau pendek-p
) saat membuat instance virtualenv Anda untuk menentukan executable Python yang ingin Anda gunakan, misalnya:NB Untuk Python 3.3 atau lebih baru, lihat jawaban The Aelfinn di bawah ini.
sumber
virtualenv -p `which python2.6` <path/to/new/virtualenv>
Sejak Python 3, Python Docs menyarankan untuk membuat lingkungan virtual dengan perintah berikut:
Harap dicatat bahwa
venv
tidak mengizinkan menciptakan lingkungan virtual dengan versi Python lainnya. Untuk itu, instal dan gunakanvirtualenv
paket .Informasi usang
The
pyvenv
Script dapat digunakan untuk menciptakan lingkungan virtualtetapi telah ditinggalkan sejak Python 3.6.
sumber
python3 -m venv <envname>
untuk mencegah kebutuhan naskah rintisan untuk semuanya.pyvenv
skrip tersebut tidak digunakan lagi dalam Python 3.6+, meskipunvenv
modul yang mendasarinya tidak. Jadi gunakanpython 3 -m venv <myenvname>
seperti yang dikatakan @PaulEveritt.pyvenv
ataupython3 -m venv ...
TIDAK menginstalpython-config
skrip. Ini berarti bahwa bahkan setelah mengaktifkan lingkungan Python3 Anda, seluruh sistempython-config
akan dipanggil dengan konsekuensi yang membingungkan. Lihat laporan bug ini dari 2011 github.com/pypa/virtualenv/issues/169 dan pertanyaan saya stackoverflow.com/questions/42020937/…venv
tidak mengizinkan membuat virtualenv dengan versi Python lainnya." - Apakah kamu yakin ini benar? Tampaknya berfungsi dengan baik bagi saya jika saya membuatnya dengan versi Python tertentu, misalnyapython3.5 -m venv <myenvname>
(asalkan saya memiliki versi Python tersedia).venv
dengan versi Python tertentu adalah dengan menggunakan versi itu ketika mengaturnya. Misalnya:python3.5 -m venv venv
Ini adalah langkah-langkah yang dapat Anda ikuti ketika Anda berada di lingkungan hosting bersama dan perlu menginstal & kompilasi Python dari sumber dan kemudian buat
venv
dari versi Python Anda. Untuk Python 2.7.9. Anda akan melakukan sesuatu seperti ini:virtual env
Biasanya, ini dapat diterapkan pada situasi apa pun di mana Anda ingin meniru lingkungan tempat Anda bekerja dan menyebarkannya.
sumber
~/.localpython/bin/virtualenv
alih-alih hanyavirtualenv
untuk pengaturan agar selesai tanpa kesalahan. Selain itu, gunakansource ve/bin/activate
sebagai gantisource activate
.sumber
-p
.python3.6
tetapi tidak ingin menyentuhpython3.5
diinstal pada komputer Anda?Ada cara yang lebih mudah,
Berkat komentar, ini hanya berfungsi jika Anda memasang python2.7 di tingkat sistem (mis. /Usr/bin/python2.7).
Jika tidak, jika Anda menggunakan homebrew, Anda dapat menggunakan path untuk memberikan apa yang Anda inginkan.
Anda dapat menemukan path ke instalasi python Anda dengan
Ini juga akan bekerja dengan python 3.
Akhirnya kondensasi ke:
sumber
virtualenv venv --python=python3.6
jugavirtualenv env --python=python2
virtualenv venv --python=<insert_your_python_version_here>
mana<insert_your_python_version_here>
dalam kasus sayaC:\Python\Python368\python.exe
Di bawah Windows untuk saya ini berfungsi:
tanpa
python.exe
saya punyaWindowsError: [Error 5] Access is denied
saya punya Python2.7.1 diinstal dengan virtualenv 1.6.1, dan saya ingin python 2.5.2.sumber
Mac OSX 10.6.8 (Snow Leopard):
1) Ketika Anda melakukannya
pip install virtualenv
, perintah pip dikaitkan dengan salah satu versi python Anda, danvirtualenv
diinstal ke dalam versi python itu. Anda dapat melakukanuntuk melihat versi python apa itu. Jika Anda melihat sesuatu seperti:
lalu lakukan:
Anda dapat melihat versi python di output.
Secara default, itu akan menjadi versi python yang digunakan untuk lingkungan baru yang Anda buat. Namun, Anda dapat menentukan versi python yang diinstal pada komputer Anda untuk digunakan di dalam lingkungan baru dengan
-p flag
:http://docs.python-guide.org/en/latest/dev/virtualenvs/
virtualenv
cukup salin python dari lokasi di komputer Anda ke direktori my_env / bin / yang baru dibuat.2) Sistem python ada
/usr/bin
, sementara berbagai versi python yang saya instal, secara default, diinstal ke:3) Berbagai ular sanca yang saya instal memiliki nama seperti
python2.7
ataupython3.2
, dan saya dapat menggunakan nama-nama itu daripada path lengkap.======== VIRTUALENVWRAPPER =========
1) Saya punya beberapa masalah dalam menjalankan virtualenvwrapper. Inilah yang akhirnya saya masukkan
~/.bash_profile
:2)
-p option
Bekerja secara berbeda dengan virtualenvwrapper: Saya harus menentukan path lengkap ke interpreter python untuk digunakan dalam lingkungan baru (ketika saya tidak ingin menggunakan versi python default):Tidak seperti virtualenv, virtualenvwrapper akan membuat lingkungan di lokasi yang ditentukan oleh variabel lingkungan $ WORKON_HOME. Itu menjaga semua lingkungan Anda di satu tempat.
sumber
which pip
tidak memberi tahu saya versi Python. Ini memberiku ini-/usr/local/bin/pip
./usr/local/bin
melakukan dan melakukannya$ ls -al pip
, Anda akan melihat sesuatu seperti:pip -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pip
mkproject
adalah perintah untuk digunakan jika Anda ingin membuat direktori proyek dan lingkungan virtual dari versi python yang diberikan.mkproject -p /usr/bin/python3.6 myNewPython36Project
Kedua perintah ini seharusnya bekerja dengan baik.
virtualenv -p python2 myenv
(Untuk python2)virtualenv -p python3 myenv
(Untuk python3)sumber
Misalkan saat ini Anda memiliki python 2.7 yang diinstal di virtualenv Anda. Tetapi ingin memanfaatkan
python3.2
, Anda harus memperbarui ini dengan:Kemudian aktifkan virtualenv Anda dengan:
dan kemudian lakukan:
python --version
di shell untuk memeriksa apakah versi Anda sekarang diperbarui.sumber
-p
.Anda dapat menelepon
virtualenv
dengan versi python yang Anda inginkan. Sebagai contoh:Atau sebagai alternatif langsung arahkan ke jalur virtualenv Anda. misalnya untuk windows:
Dan dengan menjalankan:
Anda dapat melihat versi python diinstal di lingkungan virtual
sumber
pip3 install virtualenv
duluItu
-p
Pendekatan bekerja dengan baik, tetapi Anda harus ingat untuk menggunakannya setiap kali. Jika tujuan Anda adalah beralih ke versi Python yang lebih baru secara umum, itu menyebalkan dan juga dapat menyebabkan kesalahan.Pilihan Anda yang lain adalah mengatur variabel lingkungan yang melakukan hal yang sama
-p
. Setel ini melalui~/.bashrc
file Anda atau di mana pun Anda mengelola variabel lingkungan untuk sesi login Anda:Kemudian
virtualenv
akan menggunakannya kapan saja Anda tidak menentukan-p
pada baris perintah.sumber
export VIRTUALENVWRAPPER_PYTHON=/path/to/desired/version
per dokumen virtualenvwrapper tidak berhasil tetapi solusi ini berhasil?virtualenvwrapper
digunakan Python saat dijalankan, tidak ada hubungannya dengan instalasi.Lebih mudah, dengan menggunakan substitusi perintah untuk menemukan python2 untuk Anda:
virtualenv -p $(which python2) <path/to/new/virtualenv/>
Atau saat menggunakan virtualenvwrapper:
mkvirtualenv -p $(which python2) <env_name>
sumber
Untuk Mac (High Sierra), instal virtualenv di python3 dan buat virtualenv untuk python2:
sumber
python3 -m pip install virtualenv
Di mac saya menggunakan pyenv dan virtualenvwrapper. Saya harus membuat virtualenv baru. Anda memerlukan homebrew yang saya anggap telah diinstal jika Anda menggunakan mac, tetapi hanya untuk bersenang-senang
Saya juga membekukan persyaratan saya terlebih dahulu sehingga saya bisa menginstal ulang di virtualenv baru dengan:
sumber
mkvirtualenv -p ~/.pyenv/versions/2.7.10/bin/python {virtual_env_name}
versi, bukan versi. Jika SO mengizinkan suntingan pendek, saya akan memperbaikinya.pyenv
termasuk dukungan virtualenv melaluipyenv-virtualenv
plugin, jadi saya merasa saya tidak benar-benar membutuhkan virtualenvwrapper. Lebih detail dalam jawaban pyenv saya .[November 2019] Saya perlu menginstal lingkungan Python 3.7 (env) pada sistem Linux Arch berbasis Python 3.8. Python 3.7 tidak lagi ada di sistem, jadi saya tidak bisa menurunkan versi Python, untuk menginstal paket yang saya butuhkan.
Lebih lanjut, saya ingin menggunakan paket / Python 3.7 di dalam lingkungan virtual (venv). Beginilah cara saya melakukannya.
Unduh file sumber versi Python:
Saya mengunduh file sumber Python 3.7.4 dari
untuk
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4.tgz
Saya kemudian mengekstrak arsip itu (file sumber) ke
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4/
Instalasi:
[Catatan: di sistem saya env, bukan venv.]
Periksa versi Python yang terpasang:
Cara membuat venv untuk versi Python tertentu:
Buat Python 3.7 venv [pada sistem operasi Python 3.8 env]:
Ditambahkan ke
~/.bashrc
:Uji Python 3.7 venv:
sumber
Di subsistem windows untuk linux:
Buat lingkungan untuk python3:
Aktifkan:
sumber
Di windows:
atau
Ini menggunakan
py
peluncur yang akan menemukan executable python yang tepat untuk Anda (dengan asumsi Anda telah menginstalnya).sumber
Ya , jawaban di atas benar dan berfungsi dengan baik pada sistem berbasis Unix seperti Linux & MAC OS X .
Saya mencoba membuat virtualenv untuk Python2 & Python3 dengan perintah berikut.
Di sini saya telah menggunakan venv2 & venv3 sebagai nama mereka masing-masing untuk Python2 & Python3 .
sumber
Ini berhasil untuk saya
sumber
Saya menggunakan pyenv untuk mengelola versi python saya.
Periksa versi python Anda:
Buat lingkungan virtual dengan venv :
Kemudian aktifkan Lingkungan Virtual:
Periksa versi python Anda:
Anda mungkin perlu menghapus lingkungan virtual sebelumnya
sumber
Ini agak rumit untuk Windows. Jika Anda menggunakan Windows yang menjalankan python 3.3 atau yang lebih baru, Anda dapat menggunakan peluncur python
py
untuk melakukan ini dengan lebih mudah. Cukup instal versi python yang berbeda, lalu jalankan:Ini akan menciptakan lingkungan virtual yang disebut
env
dalam direktori Anda saat ini, menggunakan python[my version]
. Sebagai contoh:Ini menciptakan lingkungan virtual yang disebut
env
menggunakan python3.7 dan mengaktifkannya. Tidak diperlukan jalur atau hal rumit lainnya.sumber
py -3.7 -m venv env
(yang-m
hilang)?Tautan ke Membuat virtualenv
sumber
Untuk Sistem Debian (debian 9) pada tahun 2019, saya menemukan solusi sederhana yang dapat memecahkan masalah dari dalam lingkungan virtual.
Misalkan lingkungan virtual diciptakan melalui:
tetapi hanya memiliki versi
python2
danpython2.7
, dan Anda memerlukan fitur terbaru python3.7.Kemudian, cukup jalankan perintah:
akan menambahkan paket python3.7 jika sudah tersedia di sistem Anda.
sumber
Ini adalah bug dengan virtualenv. Hanya memutakhirkan pip Anda yang harus diperbaiki.
pip install --upgrade virtualenv
sumber
Seperti yang telah disebutkan dalam beberapa jawaban, menggunakan virtualenv adalah solusi bersih. Namun jebakan kecil yang harus diperhatikan semua orang adalah bahwa jika alias untuk python diatur dalam bash_aliases seperti:
alias ini juga akan digunakan di dalam lingkungan virtual. Jadi, dalam skenario ini, menjalankan
python -V
dalam env virtual akan selalu menghasilkan3.6
terlepas dari apa penerjemah yang digunakan untuk menciptakan lingkungan:sumber
Ini bekerja untuk saya di windows dengan instalasi python 2:
Ini adalah bagaimana saya membuat lingkungan virtual Python 3 pada instalasi python 2 saya yang ada.
sumber
Anda dapat melakukannya dengan melakukan ini:
sumber
Ya, Anda hanya perlu menginstal versi python lain, dan tentukan lokasi versi python lainnya di perintah Anda seperti:
sumber
Berikut adalah stepbystep cara membuat lingkungan Virtual di folder Visual Studio Code: Saya menggunakan Powershell (mode Administrator):
1. Saya membuat folder VSCode - "D: \ Code_Python_VE" di mana saya ingin membuat lingkungan Virtual.
2. Selanjutnya saya ketik perintah - "pip3 install virtualenv". (D: \ Code_Python_VE> pip3 install virtualenv) 3. D: \ Code_Python_VE> python3 -m venv project_env
4. D: \ Code_Python_VE> project_env \ Scripts
\ activ.bat 5. D: \ Code_Python_VE> ls - Ini akan mencantumkan baru direktori "project_env".
6. D: \ Code_Python_VE> kode. Ini akan memulai Visual Studio Code. Pastikan perintahnya adalah (kode.).
7. Buat launch.jason dengan konten berikut:
(Silakan cari cara pergi ke jendela Debug dan Tambahkan Konfigurasi baru dalam Kode VS).
(project_env) d: \ Code_Python_VE> python -m pip install --upgrade
Saya harap ini membantu.
sumber
UBUNTU 19.04 / Global Python 3.7.
Ini bekerja untuk saya, memungkinkan lingkungan Python 3.8 menggunakan venv yang direkomendasikan untuk pengembangan python 3.
Pasang modul 3.8 dan 3.8 venv
$ sudo untuk menginstal python3.8 python3.8-venv ## ditambah modul lain yang Anda butuhkan
Buat Virtual Env Anda menggunakan versi python yang Anda inginkan dalam env itu
$ /usr/bin/python3.8 -m venv python38-env
beralih ke env virtual Anda
$ source python38-env / bin / aktifkan
python -V = python 3.8
sumber