Python

Як створити та керувати віртуальними середовищами Python

Як створити та керувати віртуальними середовищами Python
Досить часто можна спостерігати, як розробники Python встановлюють та оновлюють пакети зі стандартних та нестандартних джерел для розробки програм. Причини можуть варіюватися від використання більш нової версії модуля до використання конкретної версії у випадку регресії.

Цими вимогами та випадками використання може бути важко керувати, коли різні програми вимагають різних версій однієї і тієї ж бібліотеки. На щастя, Python пропонує надійне рішення для ізоляції середовищ розробки за допомогою віртуальних середовищ.

Що таке віртуальне середовище Python?

Віртуальне середовище Python - це автономне дерево каталогів, яке містить певну установку Python разом із усіма його стандартними бібліотеками. Програми, що вимагають певної версії бібліотеки, можна ізолювати у цих віртуальних середовищах, не забруднюючи систему чи інші реалізації Python. Кожне віртуальне середовище - це окрема пісочниця, тому ви можете створити скільки завгодно віртуального середовища.

Створення та управління віртуальними середовищами

Щоб створити віртуальне середовище в Ubuntu, спочатку встановіть необхідний пакет залежностей, запустивши команду:

$ sudo apt встановити python3-venv

Тепер ви можете створювати віртуальне середовище, виконуючи команду:

$ python3 -m venv myenv

Запуск команди вище створить віртуальне середовище під назвою “myenv” у вашому домашньому каталозі. Якщо ви хочете використовувати будь-яку іншу версію Python, ви можете замінити “python3” вище на повний шлях до розташування вашого альтернативного двійкового файлу Python.

Щоб активувати створене вище користувацьке середовище, запустіть команду:

$ source myenv / bin / activate

Після активації віртуального середовища підказка оболонки зміниться, щоб відобразити поточне віртуальне середовище, яке ви використовуєте. Якщо ви запускаєте “sys.path ”в інтерпретаторі Python, ви бачите, що віртуальне середовище працює належним чином. Тепер Python шукатиме пакунки всередині створеного вами спеціального середовища.

Якщо у вашому підказці оболонки ім'я віртуального середовища не відображається як префікс, будь-який запущений вами файл Python використовуватиме натомість системний Python. Тому необхідно запустити віртуальне середовище перед запуском файлу у своєму користувацькому середовищі.

Ви можете деактивувати віртуальне середовище, виконавши команду:

$ деактивувати

Кожне віртуальне середовище Python містить “pyvenv.cfg ”, що має ключ“ include-system-site-пакети ”, який за замовчуванням встановлений у“ false ”. Цей ключ повідомляє віртуальному середовищу, використовувати системні пакети сайтів чи ні. Якщо встановити значення «true», Python у віртуальному середовищі буде перевіряти системні пакети на випадок, якщо пакет не знайдений у віртуальному середовищі. Це також зробить усі встановлені системою пакети імпортованими у віртуальному середовищі.

Щоб видалити віртуальне середовище, вам просто потрібно видалити каталог віртуального середовища, і він зникне.

Можна створювати і зберігати virtualenv на зовнішніх накопичувачах USB. Вам потрібно мати USB-накопичувач, відформатований у файловій системі NTFS або EXT. Файлова система FAT32 не підтримує символічні посилання, що є вимогою до роботи віртуальних середовищ.

Використання Pip Package Manager для встановлення пакетів у віртуальному середовищі

У віртуальному середовищі ви можете використовувати менеджер пакунків pip для встановлення, оновлення та видалення пакетів. Можна знизити або оновити пакет, вказавши конкретний номер версії.

Ви можете встановити пакет за допомогою pip, запустивши команду (замініть pygame на потрібну назву пакета):

$ pip встановити pygame

Тут можна знайти сховище піп-пакетів.

Щоб видалити пакет, використовуйте команду:

$ pip видалення pygame

Щоб переглянути всі версії пакету, запустіть команду:

$ pip встановити pygame ==

Щоб знизити або оновити до певної версії, скористайтеся командою (замініть «1.9.5 ”із потрібним номером версії):

$ pip встановити pygame == 1.9.5

Щоб оновити пакет до останньої версії, запустіть команду:

$ pip install --upgrade pygame

Щоб переглянути всі пакети, встановлені у віртуальному середовищі, запустіть команду:

$ піп список

Щоб зберегти список встановлених пакетів всередині virtualenv, запустіть команду:

$ pip freeze> вимоги.txt

Ви можете використовувати вищезазначені «вимоги».txt ”для масового встановлення пакунків. Один із варіантів використання - дублювати існуюче середовище, встановлюючи всі пакунки з нуля. Щоб масово встановити пакети pip, запустіть команду:

$ pip install -r вимоги.txt

Використання віртуального середовища Python із програмами, не пов’язаними з Python

Додатки, написані іншими мовами програмування, можуть бути захищені у віртуальному середовищі Python, якщо pip або будь-який інший менеджер пакетів Python надає двійкові файли та пакети для цих альтернативних мов програмування / фреймворків.

Ось невеликий приклад, який пояснює встановлення Node.js у віртуальному середовищі Python. Виконайте наступні команди по черзі:

$ python3 -m venv my_node_env
$ source my_node_env / bin / activate
$ pip колесо встановлення
$ pip встановити nodeenv
$ nodeenv -p
$ nodeenv --version
$ node --version

Після закінчення ви отримаєте повністю ізольований Вузол.js середовище. Ви можете створити скільки завгодно віртуального середовища для різних Node.js. Пакети, встановлені через менеджер пакунків npm, будуть обмежені лише активованим віртуальним середовищем.

Висновок

Створення віртуального середовища Python - чудовий спосіб утримувати середовища розробки. Кожне віртуальне середовище має власний двійковий файл Python та свій незалежний набір пакетів. Розробка декількох програм Python в одній системі може швидко забруднити ваш домашній і кореневий каталог, а віртуальне середовище робить так просте їх обслуговування.

Кращі ігри командного рядка для Linux
Командний рядок - це не просто ваш найбільший союзник при використанні Linux, він також може бути джерелом розваг, оскільки ви можете використовувати ...
Кращі програми для картографування геймпадів для Linux
Якщо ви любите грати в ігри на Linux із геймпадом замість типової системи введення клавіатури та миші, є кілька корисних програм для вас. Багато ігор ...
Корисні інструменти для геймерів Linux
Якщо ви любите грати в ігри на Linux, швидше за все, ви, можливо, використовували додатки та утиліти, такі як Wine, Lutris та OBS Studio, щоб покращит...