Keperluan dan kes penggunaan ini boleh menyusahkan apabila aplikasi yang berbeza memerlukan versi yang berbeza dari perpustakaan yang sama. Syukurlah, Python memberikan penyelesaian yang mantap untuk mengasingkan persekitaran pembangunan menggunakan persekitaran maya.
Apa itu Persekitaran Maya Python?
Persekitaran maya Python adalah pokok direktori serba lengkap yang mengandungi pemasangan Python tertentu bersama dengan semua perpustakaan standardnya. Aplikasi yang memerlukan versi perpustakaan tertentu dapat diasingkan di persekitaran maya ini tanpa mencemarkan sistem atau pelaksanaan Python lain. Setiap persekitaran maya adalah kotak pasir yang berasingan, jadi anda boleh membuat seberapa banyak persekitaran maya yang anda mahukan.
Membuat dan Menguruskan Persekitaran Maya
Untuk membuat persekitaran maya di Ubuntu, pasang terlebih dahulu pakej kebergantungan yang diperlukan dengan menjalankan perintah:
$ sudo apt memasang python3-venvAnda kini boleh membuat persekitaran maya dengan menjalankan perintah:
$ python3 -m venv myenvMenjalankan perintah di atas akan mewujudkan persekitaran maya yang disebut "myenv" di direktori rumah anda. Sekiranya anda ingin menggunakan versi Python lain, anda boleh mengganti "python3" di atas dengan jalan penuh ke lokasi binari Python alternatif anda.
Untuk mengaktifkan persekitaran khusus yang dibuat di atas, jalankan perintah:
$ sumber myenv / bin / aktifkanSetelah persekitaran maya diaktifkan, prompt shell akan berubah untuk mencerminkan persekitaran maya semasa yang anda gunakan. Sekiranya anda menjalankan “sys.arahan ”di dalam pentafsir Python, anda dapat melihat bahawa persekitaran maya berfungsi dengan baik. Python kini akan mencari pakej di dalam persekitaran khusus yang baru anda buat.
Sekiranya arahan shell anda tidak menunjukkan nama persekitaran maya sebagai awalan, fail Python yang anda jalankan akan menggunakan sistem Python sebagai gantinya. Oleh itu, perlu membuat sumber persekitaran maya sebelum menjalankan fail di persekitaran tersuai anda.
Anda boleh menyahaktifkan persekitaran maya dengan menjalankan perintah:
$ nyahaktifkanSetiap persekitaran maya Python termasuk "pyvenv.fail cfg "yang mempunyai kunci" include-system-site-package "yang diatur ke" false "secara lalai. Kunci ini memberitahu persekitaran maya sama ada menggunakan pakej laman sistem atau tidak. Jika diset ke "true", Python di persekitaran maya akan meneliti pakej sistem sekiranya pakej tidak dijumpai di persekitaran maya. Ia juga akan menjadikan semua pakej yang dipasang sistem dapat diimport di dalam persekitaran maya.
Untuk menghapus persekitaran maya, anda hanya perlu menghapus direktori persekitaran maya dan ia akan hilang.
Adalah mungkin untuk membuat dan menyimpan virtualenv pada pemacu USB luaran. Anda perlu memformat pemacu USB dalam sistem fail NTFS atau EXT. Sistem fail FAT32 tidak menyokong symlink yang merupakan syarat agar persekitaran maya berfungsi.
Menggunakan Pip Package Manager untuk Memasang Pakej Di Dalam Persekitaran Maya
Di dalam persekitaran maya, anda boleh menggunakan pengurus paket pip untuk memasang, menaik taraf dan menyahpasang pakej. Adalah mungkin untuk menurunkan atau meningkatkan pakej dengan menentukan nombor versi tertentu.
Anda boleh memasang pakej menggunakan perintah pip dengan menjalankan (ganti pygame dengan nama pakej yang anda inginkan):
$ pip memasang pygame
Repositori pakej pip yang boleh dicari boleh didapati di sini.
Untuk menyahpasang pakej, gunakan arahan:
$ pip uninstall pygame
Untuk melihat semua versi pakej, jalankan arahan:
$ pip memasang pygame ==
Untuk menurunkan atau meningkatkan ke versi tertentu, gunakan perintah (ganti “1.9.5 "dengan nombor versi yang anda mahukan):
$ pip memasang pygame == 1.9.5
Untuk menaik taraf pakej ke versi terbaru, jalankan arahan:
$ pip install - menaikkan pygame
Untuk melihat semua pakej yang dipasang di persekitaran maya, jalankan arahan:
senarai $ pip
Untuk menyimpan senarai pakej terpasang di dalam virtualenv, jalankan arahan:
$ pip beku> keperluan.txtAnda boleh menggunakan syarat di atas.fail txt ”untuk memasang pakej secara pukal. Satu kes penggunaan adalah menduplikasi persekitaran yang ada dengan memasang semua pakej dari awal. Untuk memasang pakej pip secara pukal, jalankan arahan:
$ pip memasang -r syarat.txtMenggunakan Persekitaran Maya Python dengan Aplikasi Bukan Python
Aplikasi yang ditulis dalam bahasa pengaturcaraan lain boleh dimasukkan ke dalam kotak maya Python selagi pip atau mana-mana pengurus pakej Python yang lain menyediakan binari dan pakej untuk bahasa / kerangka kerja penggantian ini.
Berikut adalah contoh kecil yang menjelaskan pemasangan Node.js dalam persekitaran maya Python. Jalankan arahan berikut satu demi satu:
$ python3 -m venv my_node_env$ sumber my_node_env / bin / aktifkan
$ pip memasang roda
$ pip memasang nodeenv
$ nodeenv -p
$ nodeenv --versi
$ node - penukaran
Setelah selesai, anda akan mempunyai Node yang sepenuhnya terpencil.persekitaran js. Anda boleh membuat sebilangan persekitaran maya yang anda mahukan untuk Node yang berbeza.aplikasi js. Pakej yang dipasang melalui pengurus pakej npm akan terhad kepada persekitaran maya yang diaktifkan sahaja.
Kesimpulannya
Membuat persekitaran maya Python adalah kaedah terbaik untuk menampung persekitaran pembangunan. Setiap persekitaran maya mempunyai binari Python sendiri dan set pakej bebasnya sendiri. Membangunkan pelbagai aplikasi Python pada sistem yang sama dapat mencemarkan direktori root dan persekitaran maya dan persekitaran maya dengan cepat menjadikannya mudah untuk mengekalkannya.