Python

Tutorial Python Virtualenv

Tutorial Python Virtualenv
Sakit kepala manajemen ketergantungan umum terjadi pada pengembang. Satu pembaruan yang salah membutuhkan penelitian berjam-jam untuk memperbaikinya.  Seringkali beberapa aplikasi tumpang tindih pada persyaratan ketergantungan perpustakaan.  Ini dapat menyebabkan dua aplikasi yang berjalan di lingkungan yang sama memerlukan dua versi dari perpustakaan yang sama.  Jenis konflik ini dapat menyebabkan sejumlah masalah baik dalam pengembangan maupun produksi.Masukkan Virtualenv.  Virtualenv adalah alat yang menciptakan silo ketergantungan.  Ini memungkinkan Anda untuk menyebarkan aplikasi ke satu lingkungan dengan dependensi terisolasi. Docker menggunakan strategi serupa di level OS. Virtualenv memisahkan hanya pada tingkat Python dan perpustakaan - yaitu, lingkungan yang dapat dieksekusi Python dan perpustakaan unik untuk lingkungan virtual itu.  Jadi, alih-alih menggunakan pustaka yang diinstal pada tingkat lingkungan OS, Anda dapat memisahkan versi dan pustaka Python ke dalam lingkungan virtual yang terpisah.  Ini memungkinkan Anda untuk menerapkan beberapa aplikasi di lingkungan OS yang sama dengan versi berbeda dari dependensi yang sama.

Instal Virtualenv

Instalasi Virtualenv sangat mudah. Menggunakan pip, Anda dapat menjalankan perintah di bawah ini dari terminal.

$ pip instal virtualenv

Atau, jika menggunakan Anaconda, Anda harus menggunakan perintah terminal di bawah ini.

$ conda install virtualenv

Output terminal Anda akan terlihat seperti di bawah ini.

Bradleys-Mini:~ BradleyPatton$ pip install virtualenv
Mengumpulkan virtualenv
Mengunduh virtualenv-15.1.0-py2.py3-none-any.apa (1.8MB)
100% |████████████████████████████████| 1.8MB 267kB/dtk
Menginstal paket yang dikumpulkan: virtualenv
Berhasil menginstal virtualenv-15.1.0
Bradleys-Mini:~ BradleyPatton$

Buat Lingkungan

Virtualenv memiliki satu perintah utama. Baris di bawah yang dieksekusi dari terminal akan membuat "silo" atau lingkungan Python virtual baru di direktori Tutorial.

$ virtualenv Tutorial

Anda harus mendapatkan beberapa keluaran terminal seperti di bawah ini setelah dijalankan.

Bradleys-Mini:paket situs BradleyPatton$ virtualenv Tutorial
Timpa /Users/BradleyPatton/anaconda/lib/python2.7/situs-
paket/Tutorial/lib/python2.7/asal-awalan.txt dengan konten baru
Python baru dapat dieksekusi di /Users/BradleyPatton/anaconda/lib/python2.7/situs-
paket/Tutorial/bin/python
menyalin /Users/BradleyPatton/anaconda/bin/python =>
/Pengguna/BradleyPatton/anaconda/lib/python2.7/paket situs/Tutorial/bin/python
menyalin /Users/BradleyPatton/anaconda/bin/… /lib/libpython2.7.dylib =>
/Users/BradleyPatton/anaconda/lib/python2.7/paket situs/Tutorial/lib/
libpython2.7.dilib
Menginstal setuptools, pip, wheel… selesai.

Perintah virtualenv akan membangun struktur direktori termasuk biner, perpustakaan dan termasuk direktori untuk lingkungan virtual baru yang telah dibuat.

Bradleys-Mini:Tutorial BradleyPatton$ ls
bin                         lib
sertakan                      pip-selfcheck.json
Bradleys-Mini:Tutorial BradleyPatton$

/tempat sampah berisi executable Anda terutama Python dan pip.

Bradleys-Mini:bin BradleyPatton$ ls
aktifkan                  easy_install-2.7           python-config
mengaktifkan.csh               pip                     python2
mengaktifkan.ikan              pip2                     python2.7
aktifkan_ini.py           pip2.7                     roda
easy_install                python
Bradleys-Mini:bin BradleyPatton$

Itu /lib dan /termasuk direktori termasuk file pendukung untuk Python dan aplikasi yang akan dikembangkan.

Aktifkan Virtualenv

Skrip aktivasi memperbarui jalur Anda sehingga Anda dapat memanfaatkan lingkungan virtual ini tanpa repot menavigasi ke direktori. Itu membuatnya sedikit lebih mudah digunakan, tetapi bisa dilewati jika Anda seorang ninja terminal dan tidak keberatan dengan penekanan tombol.

Dalam /tempat sampah direktori ada skrip BASH yang diaktifkan. Anda dapat mengeksekusi menggunakan di bawah ini.

$ ./mengaktifkan

Jika Anda akan mencatat dari meraba-raba saya di bawah ini bahwa saya harus mengubah izin file untuk dieksekusi. saya menggunakan CHMOD 700 aktifkan perintah untuk memperbarui izin. Anda mungkin juga perlu melakukan pembaruan ini sebelum menjalankan skrip aktivasi.

Bradleys-Mini:bin BradleyPatton$ ls
aktifkan             easy_install-2.7     python-config
mengaktifkan.csh          pip                python2
mengaktifkan.ikan          pip2               python2.7
aktifkan_ini.py       pip2.7               roda
easy_install           python
Bradleys-Mini:bin BradleyPatton$ ./mengaktifkan
-pesta: ./aktifkan: Izin ditolak
Bradleys-Mini:bin BradleyPatton$ sudo ./mengaktifkan
Kata sandi:
sudo: ./aktifkan: perintah tidak ditemukan
Bradleys-Mini:bin BradleyPatton$ chmod 700 aktifkan
Bradleys-Mini:bin BradleyPatton$ ./mengaktifkan
Bradleys-Mini:bin BradleyPatton$

Nonaktifkan Virtualenv

Untuk membatalkan perubahan variabel lingkungan yang dibuat dengan mengaktifkan jalankan perintah berikut dari terminal. Ini akan mengembalikan perubahan jalur Anda seperti tidak pernah terjadi. Sesederhana itu.

$ nonaktifkan

Menghapus Lingkungan

Menghapus lingkungan virtual semudah rm. Cukup ketik berikut ini untuk menghapus direktori dan isinya secara rekursif.

$ rm -r TutorialtoHapus

Sekarang apa

Nah, sekarang Anda perlu menginstal perpustakaan dan aplikasi Anda di lingkungan virtual baru.  Pip membuat sumber perpustakaan Anda mudah.

Saya tidak akan membahas seluk-beluk pip yang beberapa di antaranya dapat ditemukan di sini, tetapi saya akan mendemonstrasikan satu instalasi pip.

$ pip install pandas (Tutorial) Bradleys-Mini:bin BradleyPatton$ pip install pandas
Mengumpulkan panda
Menggunakan pandas-0 . yang di-cache.22.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9
_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.apa
Mengumpulkan numpy>=1.9.0 (dari panda)
Menggunakan cache numpy-1.14.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9
_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.apa
Mengumpulkan python-dateutil (dari panda)
Menggunakan python_dateutil-2 yang di-cache.6.1-py2.py3-none-any.apa
Mengumpulkan pytz>=2011k (dari panda)
Menggunakan cache pytz-2017.3-py2.py3-none-any.apa
Mengumpulkan enam>=1.5 (dari python-dateutil->pandas)
Menggunakan cache enam-1.11.0-py2.py3-none-any.apa
Menginstal paket yang dikumpulkan: numpy, six, python-dateutil, pytz, pandas
Berhasil menginstal numpy-1.14.0 panda-0.22.0
python-dateutil-2.6.1 pytz-2017.3 enam-1.11.0
(Tutorial) Bradleys-Mini:bin BradleyPatton$

Perintah berikut akan membuka baris perintah juru bahasa Python.  Saya akan mengimpor perpustakaan panda baru kami dan memeriksa versinya. Versi 19 adalah versi panda global saya, tetapi seperti yang Anda lihat dari keluaran terminal, versi yang digunakan dalam lingkungan virtual Tutorial kami adalah 22.

$ python (Tutorial) Bradleys-Mini:bin BradleyPatton$ python
Python 2.7.13 |Analisis Berkelanjutan, Inc.| (default, 20 Des 2016, 23:05:08)
[GCC 4.2.1 Apple LLVM yang Kompatibel 6.0 (dentang-600.0.57)] di darwin
Ketik "bantuan", "hak cipta", "kredit" atau "lisensi" untuk informasi lebih lanjut.
Anaconda dipersembahkan oleh Continuum Analytics.
Silakan periksa: http://continuum.io/terima kasih dan https://anaconda.organisasi
>>> impor panda
>>> panda.__Versi: kapan__
kamu 0.22.0'
>>>

Tutorial ini akan membantu Anda memulai dengan Virtualenv.  Saya telah menambahkan tautan ke halaman Virtualenv yang dapat membantu dengan beberapa konfigurasi mendalam menggunakan parameter dan pengaturan konfigurasi yang dapat digunakan dalam keadaan khusus.

Referensi

https://virtualenv.pypa.io/en/stabil

Shadow of the Tomb Raider untuk Tutorial Linux
Shadow of the Tomb Raider adalah tambahan kedua belas untuk seri Tomb Raider - waralaba game aksi-petualangan yang dibuat oleh Eidos Montreal. Permain...
Cara Meningkatkan FPS di Linux?
FPS adalah singkatan dari Bingkai per detik. Tugas FPS adalah mengukur kecepatan bingkai dalam pemutaran video atau pertunjukan game. Dengan kata sede...
Game Lab Aplikasi Oculus Teratas
Jika Anda adalah pemilik headset Oculus maka Anda harus tahu tentang sideloading. Sideloading adalah proses menginstal konten non-toko di headset Anda...