Python

Tutorial Python Virtualenv

Tutorial Python Virtualenv
Sakit kepala pengurusan pergantungan adalah perkara biasa bagi pemaju. Satu kemas kini yang salah memerlukan penyelidikan selama berjam-jam untuk membetulkannya.  Selalunya banyak aplikasi bertindih dengan keperluan pergantungan perpustakaan.  Ini boleh menyebabkan dua aplikasi berjalan dalam lingkungan yang sama memerlukan dua versi perpustakaan yang sama.  Jenis konflik ini dapat menyebabkan sejumlah masalah baik dalam pengembangan dan produksi.Masukkan Virtualenv.  Virtualenv adalah alat yang menghasilkan silo ketergantungan.  Ini membolehkan anda menyebarkan aplikasi ke satu lingkungan dengan kebergantungan terpencil. Docker menggunakan strategi yang serupa di peringkat OS. Virtualenv memisahkan hanya di peringkat Python dan perpustakaan - iaitu, persekitaran Python yang dapat dilaksanakan dan perpustakaan unik untuk persekitaran maya itu.  Oleh itu, daripada menggunakan perpustakaan yang dipasang di peringkat persekitaran OS, anda boleh memisahkan versi dan perpustakaan Python ke dalam persekitaran maya tanpa suara.  Ini membolehkan anda menggunakan banyak aplikasi dalam persekitaran OS yang sama dengan versi yang berbeza dari kebergantungan yang sama.

Pasang Virtualenv

Pemasangan Virtualenv adalah lurus ke hadapan. Dengan menggunakan pip, anda boleh menjalankan perintah di bawah dari terminal.

$ pip memasang virtualenv

Sebagai alternatif, jika menggunakan Anaconda, anda perlu menggunakan arahan terminal di bawah.

$ conda memasang virtualenv

Output terminal anda akan kelihatan seperti di bawah.

Bradleys-Mini: ~ BradleyPatton $ pip pasang virtualenv
Mengumpul virtualenv
Memuat turun virtualenv-15.1.0-py2.py3-tiada-apa-apa.sementara (1.8MB)
100% | ████████████████████████████████ | 1.8MB 267kB / s
Memasang pakej yang dikumpulkan: virtualenv
Berjaya memasang virtualenv-15.1.0
Bradleys-Mini: ~ BradleyPatton $

Buat Persekitaran

Virtualenv mempunyai satu arahan utama. Garis di bawah yang dijalankan dari terminal akan membuat persekitaran "silo" atau Python maya baru dalam direktori Tutorial.

Tutorial $ virtualenv

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

Bradleys-Mini: pakej laman BradleyPatton $ virtualenv Tutorial
Menimpa / Pengguna / BradleyPatton / anaconda / lib / python2.7 / laman web-
pakej / Tutorial / lib / python2.Awalan 7 / orig.txt dengan kandungan baru
Python baru boleh dilaksanakan di / Users / BradleyPatton / anaconda / lib / python2.7 / laman web-
pakej / Tutorial / tong / ular sawa
menyalin / Pengguna / BradleyPatton / anaconda / bin / python =>
/ Pengguna / BradleyPatton / anaconda / lib / python2.7 / pakej laman web / Tutorial / tong sampah / ular sawa
menyalin / Pengguna / BradleyPatton / anaconda / bin /… / lib / libpython2.7.dylib =>
/ Pengguna / BradleyPatton / anaconda / lib / python2.7 / pakej laman web / Tutorial / lib /
libpython2.7.dylib
Memasang alat pemasangan, paip, roda ... selesai.

Perintah virtualenv akan membina struktur direktori termasuk binari, perpustakaan dan menyertakan direktori untuk persekitaran maya baru yang telah dibuat.

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

/ tong sampah mengandungi pelaksanaan anda terutamanya Python dan pip.

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

The / lib dan / sertakan direktori merangkumi fail sokongan untuk Python dan aplikasi yang akan dibangunkan.

Aktifkan Virtualenv

Skrip pengaktifan mengemas kini jalan anda sehingga anda dapat memanfaatkan persekitaran maya ini tanpa perlu menavigasi ke direktori. Ini menjadikannya sedikit lebih mudah digunakan, tetapi boleh dilangkau jika anda adalah ninja terminal dan tidak keberatan dengan pukulan utama.

Di dalam / tong sampah direktori ada skrip BASH mengaktifkan. Anda boleh melaksanakan dengan menggunakan perkara di bawah.

$ ./ aktifkan

Sekiranya anda perhatikan dari fumbling saya di bawah ini bahawa saya harus mengubah kebenaran fail untuk dijalankan. Saya menggunakan CHMOD 700 aktifkan arahan untuk mengemas kini kebenaran. Anda mungkin juga perlu membuat kemas kini ini sebelum menjalankan skrip aktifkan.

Bradleys-Mini: bin BradleyPatton $ ls
aktifkan easy_install-2.7 python-config
aktifkan.csh pip python2
aktifkan.ikan pip2 ular sawa2.7
aktifkan_ini.py pip2.Roda 7
easy_install python
Bradleys-Mini: bin BradleyPatton $ ./ aktifkan
-bash: ./ aktifkan: Kebenaran ditolak
Bradleys-Mini: bin BradleyPatton $ sudo ./ aktifkan
Kata Laluan:
sudo: ./ activate: arahan tidak dijumpai
Bradleys-Mini: bin BradleyPatton $ chmod 700 aktifkan
Bradleys-Mini: bin BradleyPatton $ ./ aktifkan
Bradleys-Mini: bin BradleyPatton $

Nyahaktifkan Virtualenv

Untuk mengurungkan perubahan pemboleh ubah persekitaran yang dilakukan dengan mengaktifkan jalankan perintah berikut dari terminal. Ini akan mengembalikan perubahan jalan anda seperti yang tidak pernah berlaku. Semudah itu.

$ nyahaktifkan

Membuang Persekitaran

Mengalih keluar persekitaran maya semudah rm. Cukup ketik berikut untuk membuang direktori dan kandungannya secara berulang.

$ rm -r TutorialtoRemove

Bagaimana sekarang

Nah, sekarang anda perlu memasang perpustakaan dan aplikasi anda di persekitaran maya yang baru.  Pip menjadikan sumber perpustakaan anda menjadi mudah.

Saya tidak akan masuk ke dalam kehalusan pip yang terdapat di sini, tetapi saya akan menunjukkan pemasangan pip tunggal.

$ pip memasang panda (Tutorial) Bradleys-Mini: bin BradleyPatton $ pip memasang panda
Mengumpulkan panda
Menggunakan panda cache-0.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.sementara
Mengumpul numpy> = 1.9.0 (dari panda)
Menggunakan numpy-1 cache.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.sementara
Mengumpulkan python-dateutil (dari panda)
Menggunakan python_dateutil-2 cache.6.1-py2.py3-tiada-apa-apa.sementara
Mengumpulkan pytz> = 2011k (dari panda)
Menggunakan pytz-2017 cache.3-py2.py3-tiada-apa-apa.sementara
Mengumpulkan enam> = 1.5 (dari python-dateutil-> panda)
Menggunakan cache enam-1.11.0-py2.py3-tiada-apa-apa.sementara
Memasang pakej yang dikumpulkan: numpy, six, python-dateutil, pytz, panda
Numpy-1 berjaya dipasang.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 arahan jurubahasa Python.  Saya akan mengimport perpustakaan panda baru kami dan periksa versi. Versi 19 adalah versi panda global saya, tetapi seperti yang anda lihat dari output terminal, versi yang digunakan dalam persekitaran maya Tutorial kami adalah 22.

$ python (Tutorial) Bradleys-Mini: bin BradleyPatton $ python
Python 2.7.13 | Continuum Analytics, Inc.| (lalai, 20 Dis 2016, 23:05:08)
[GCC 4.2.1 Apple LLVM yang serasi 6.0 (clang-600).0.57)] pada darwin
Ketik "bantuan", "hak cipta", "kredit" atau "lesen" untuk maklumat lebih lanjut.
Anaconda dibawa kepada anda oleh Continuum Analytics.
Sila lihat: http: // kontinum.io / terima kasih dan https: // anaconda.org
>>> import panda
>>> panda.__versi__
awak.22.0 '
>>>

Tutorial ini akan memulakan anda dengan Virtualenv.  Saya telah menambahkan pautan ke halaman Virtualenv yang dapat membantu beberapa konfigurasi mendalam menggunakan parameter dan tetapan konfigurasi yang dapat digunakan dalam keadaan khusus.

Rujukan

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

5 Kad Tangkap Permainan Teratas
Kita semua telah melihat dan menyukai streaming permainan permainan di YouTube. PewDiePie, Jakesepticye, dan Markiplier hanyalah beberapa pemain terat...
Cara Membangunkan Permainan di Linux
Satu dekad yang lalu, tidak banyak pengguna Linux akan meramalkan bahawa sistem operasi kegemaran mereka suatu hari nanti akan menjadi platform permai...
Port Sumber Terbuka Mesin Permainan Komersial
Rekreasi enjin permainan sumber terbuka dan bebas platform boleh digunakan untuk bermain lama dan juga beberapa tajuk permainan yang baru-baru ini. Ar...