Укр Рус
Створення віртуальних оточень та встановлення бібліотек для Python 3 у IDE PyCharm

Створення віртуальних оточень та встановлення бібліотек для Python 3 у IDE PyCharm

  • 6 травня
  • читати 15 хв

Мова програмування Python вважається досить простою. На ньому легше і швидше пишуться програми в порівнянні з мовами програмування, що компілюються. Для Python існує багато бібліотек, що дозволяють вирішувати практично будь-які завдання.

Початківці програмісти іноді стикаються з проблемою встановлення та використання сторонніх бібліотек.

Стаття починається з базових речей: з установки Python 3, інструментів розробки Pip і Virtualenv та середовища розробки PyCharm у Windows та Ubuntu.

А потім ми розглянемо, як у PyCharm створювати та використовувати віртуальні оточення та встановлювати в них бібліотеки за допомогою Pip.

Встановлення Python та Pip

Pip є менеджером пакетів для Python. Саме за допомогою нього зазвичай встановлюються модулі/бібліотеки для розробки як пакетів. У Windows Pip можна встановити за допомогою стандартного інсталятора Python. У Ubuntu Pip ставиться окремо.

Встановлення Python та Pip у Windows

Для windows заходимо на офіційну сторінку завантаження, де потім переходимо на сторінку завантаження певної версії Python. У статті використовується Python 3.6.8, тому що LLVM 9 вимагає встановленого Python 3.6.

Далі в таблиці з файлами вибираємо «Windows x86-64 executable installer для 64-бітної» системи або «Windows x86 executable installer» для 32-бітної. І запускаємо завантажений інсталятор, наприклад, для версії Python 3.8.1 він називається python-3.8.1-amd64.exe.

Під час встановлення ставимо галочку біля Add Python 3.x to PATH та натискаємо Install Now:

Встановлення Python і Pip в Ubuntu

У Ubuntu встановити Python 3 можна через термінал. Запускаємо його та вводимо команду установки. Друга команда виводить версію Python.

sudo apt install python3-minimal
python3 -V

Далі встановлюємо Pip та оновлюємо його. Після оновлення необхідно перезапустити поточну сесію (або перезавантажити комп'ютер), інакше під час виклику Pip виникла помилка.

sudo apt install python3-pip
pip3 install --user --upgrade pip

Основні команди Pip

Розглянемо основні команди під час роботи з Pip у команді рядку Windows і терміналі Ubuntu.

КомандаОписание
pip helpДовідка по командам
pip search package_nameПошук пакету
pip show package_nameІнформація про пакет
pip install package_nameВстановлення пакету(ів)
pip uninstall package_nameВидалення пакету(ів)
pip listСписок встановлених пакетів
pip install -UОновлення пакету(ів)

Якщо віртуальні оточення не використовуються, то під час інсталяції пакета(ів) корисно використовувати додатково ключ --user, встановлюючи пакет(и) локально лише для поточного користувача.

Встановлення VirtualEnv та VirtualEnvWrapper

VirtualEnv використовується для створення віртуальних оточень для програм Python. Це необхідно для того, щоб уникнути конфліктів, дозволяючи встановити одну версію бібліотеки для однієї програми, а іншу — для другої. Вся зручність використання VirtualEnv осягається практично.

Встановлення VirtualEnv та VirtualEnvWrapper у Windows

У командному рядку виконуємо команди:

pip install virtualenv
pip install virtualenvwrapper-win

Встановлення VirtualEnv та VirtualEnvWrapper в Ubuntu

Для Ubuntu команда установки буде наступною:

pip3 install --user virtualenv virtualenvwrapper

Після якої в кінець ~/.bashrc додаємо:

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source ~/.local/bin/virtualenvwrapper.sh

При новому запуску терміналу повинні будуть з'явитись повідомлення, що починаються на virtualenvwrapper.user_scripts creating, що говорить про успішне завершення установки.

Робота з віртуальним оточенням VirtualEnv

Розглянемо основні команди під час роботи з VirtualEnv у команді рядка Windows і терміналі Ubuntu.

КомандаОписание
mkvirtualenv env-nameСтворення нового оточення
workonПерегляд списку оточень
workon env-nameЗміна оточення
deactivateВийти з оточення
rmvirtualenv env-nameВидалити оточення

Перебуваючи в одному з оточень, можна ставити пакети через Pip як завжди, не потрібно додавати ключ --user:

pip3 install markdown

Для Windows можна вказати в змінних середовищах WORKON_HOME для перевизначення шляху, де зберігаються віртуальні оточення. За промовчанням використовується шлях %USERPROFILE%\Envs.

Встановлення PyCharm

PyCharm — інтегроване середовище розробки мови Python. Має всі базові речі, необхідні для розробки. У нашому випадку велике значення має хороша взаємодія PyCharm з VirtualEnv і Pip, чим ми користуватимемося.

Встановлення PyCharm в Windows

Завантажуємо інсталятор PyCharm Community для Windows з офіційного сайту JetBrains. Якщо вмієте перевіряти контрольні суми у завантажених файлів, то не забуваймо це зробити.

У самій установці нічого особливого немає, тільки натискаємо на кнопки next, і на завершення — на кнопку Install. Єдине, що можна прибрати версію з імені папки установки, оскільки PyCharm постійно оновлюється, і вказана версія в майбутньому стане неактуальною.

Встановлення PyCharm в Ubuntu

Завантажуємо інсталятор PyCharm Community для Linux з офіційного сайту JetBrains. Дуже гарною практикою є перевірка контрольних сум, тому якщо вмієте, не лінуйтеся з перевіркою.

Розпаковуємо архів з PyCharm і перейменовуємо папку з програмою на pycharm-community, прибравши версію з назви.

Тепер у директорії ~/.local (Ctrl + H - Показ прихованих файлів), створюємо папку opt, куди і переміщуємо pycharm-community. В результаті шляхом /.local/opt/pycharm-community повинні розміщуватися папки bin, help і т.д. Таким чином PyCharm буде у своєму місці.

Далі виконуємо команди у терміналі:

cd /home/maksim/.local/opt/pycharm-community/bin
sh ./pycharm.sh

Проводимо установку. Дуже важливо в кінці не забути створити файл desktop для запуску PyCharm. Для цього у вікні привітання в нижньому правому куті натискаємо на Configure → Create Desktop Entry.

Встановлення PyCharm в Ubuntu із snap-пакету

PyCharm тепер можна встановлювати із snap-пакету. Якщо ви використовуєте Ubuntu 16.04 або пізнішу версію, можете встановити PyCharm з командного рядка.

sudo snap install pycharm-community --classic

Використання VirtualEnv та Pip у PyCharm

Підтримка Pip та Virtualenv у PyCharm з'явилася вже досить давно. Іноді виникають проблеми, але взаємодія працює стабільно.

Розглянемо два варіанти роботи з віртуальними оточеннями:

  1. Створюємо проект зі своїм власним віртуальним оточенням, куди потім встановлюватимуться необхідні бібліотеки
  2. Попередньо створюємо віртуальне оточення, куди встановимо необхідні бібліотеки. І потім під час створення проекту в PyCharm можна буде його вибирати, тобто використовувати для кількох проектів

Перший приклад: використання власного віртуального оточення для проекту

Створимо програму, що генерує зображення із трьома графіками нормального розподілу Гауса. Для цього будуть використовуватись бібліотеки matplotlib і numpy, які будуть встановлені в спеціально створене віртуальне оточення для програми.

Запускаємо PyCharm та вікні вітання вибираємо Create New Project.

У майстрі створення проекту, вказуємо в полі Location шлях розташування проекту, що створюється. Ім'я кінцевої директорії також є іменем проекту. У прикладі директорія називається 'first_program'.

Далі розгортаємо параметри оточення, клацаючи Project Interpreter. І вибираємо New environment using Virtualenv. Шлях розташування оточення генерується автоматично. У Windows можна поміняти в дорозі папку venv на Envs, щоб команда workon знаходила оточення, що створюються в PyCharm. Ставити додатково галочки не потрібно. Натискаємо Create.

Тепер встановимо бібліотеки, які використовуватимемо у програмі. За допомогою головного меню переходимо до параметрів File → Settings. Переходимо до Project: project_name → Project Interpreter.

Тут бачимо таблицю зі списком встановлених пакетів. На початку встановлено лише два пакети: pip та setuptools.

Праворуч від таблиці є панель керування із чотирма кнопками:

  • Кнопка з плюсом додає пакет до оточення
  • Кнопка з мінусом видаляє пакет із оточення
  • Кнопка із трикутником оновлює пакет
  • Кнопка з оком містить відображення ранніх релізів для пакетів

Для додавання (встановлення) бібліотеки в оточення натискаємо на плюс. У полі пошуку вводимо назву бібліотеки. У цьому прикладі будемо встановлювати matplotlib. Додатково через Specify version можна вказати версію пакета, що встановлюється, і через Options вказати параметри. Зараз для matplotlib немає потреби у додаткових параметрах. Для встановлення натискаємо Install Package.

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

Тепер ми можемо створити файл із кодом у проекті, наприклад, first.py. Код програми має такий вигляд:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-5, 5, 100)

def gauss(sigma, mu):
    return 1/(sigma * (2*np.pi)**.5) * np.e ** (-(x-mu)**2/(2 * sigma**2))

dpi = 80
fig = plt.figure(dpi=dpi, figsize=(512 / dpi, 384 / dpi))

plt.plot(x, gauss(0.5, 1.0), 'ro-')
plt.plot(x, gauss(1.0, 0.5), 'go-')
plt.plot(x, gauss(1.5, 0.0), 'bo-')

plt.legend(['sigma = 0.5, mu = 1.0',
            'sigma = 1.0, mu = 0.5',
            'sigma = 1.5, mu = 0.0'], loc='upper left')

fig.savefig('gauss.png')

Для запуску програми необхідно створити профіль із конфігурацією. Для цього у верхньому правому куті натискаємо кнопку Add Configuration.... Відкриється вікно Run/Debug Configurations, в якому натискаємо кнопку з плюсом (Add New Configuration) у правому верхньому кутку і вибираємо Python.

Далі вказуємо в полі Name ім'я конфігурації, а поле Script path — розташування Python файлу з кодом програми. Інші параметри не чіпаємо. На завершення натискаємо на Apply, потім на OK.

Тепер можна виконати програму і в директорії із програмою з'явиться файл gauss.png:

Другий приклад: використання попередньо створеного віртуального оточення

Цей приклад можна використовувати під час вивчення роботи з бібліотекою. Наприклад, для вивчення PySide2 нам доведеться створити безліч проектів. Створення кожного проекту окремого оточення досить накладно — потрібно щоразу завантажувати пакети, і також вільне місце на локальних дисках обмежено.

Більш практично заздалегідь підготувати оточення із встановленими потрібними бібліотеками. І під час створення проектів використати це оточення.

У цьому прикладі ми створимо віртуальне оточення PySide2, куди встановимо цю бібліотеку. Потім створимо програму, яка використовує бібліотеку PySide2 із попередньо створеного віртуального оточення. Програма показуватиме позначку, що відображає версію встановленої бібліотеки PySide2.

Почнемо з екрана вітання PyCharm. Для цього потрібно вийти із поточного проекту.

На екрані привітання в нижньому правому куті через Configure → Settings переходимо до налаштувань. Потім переходимо до розділу Project Interpreter. У верхньому правому кутку є кнопка з шестірнею, натискаємо на неї і вибираємо Add..., створюючи нове оточення. І вказуємо прихильність для нового оточення. Ім'я кінцевої директорії буде також ім'ям самого оточення, у цьому прикладі — pyside2. У Windows можна поміняти в дорозі папку venv на Envs, щоб команда workon знаходила оточення, що створюються в PyCharm. Натискаємо на ОК.

Далі у створеному оточенні встановлюємо пакет із бібліотекою PySide2, так само, як ми встановлювали matplotlib. І виходимо з налаштувань

Тепер ми можемо створювати новий проект, який використовує бібліотеку PySide2. У вікні привітання вибираємо Create New Project

У майстрі створення проекту вказуємо ім'я розташування проекту у полі Location. Розгортаємо параметри оточення, клацаючи Project Interpreter, де вибираємо Existing interpreter і вказуємо потрібне нам оточення pyside2.

Для перевірки роботи бібліотеки створюємо файл second.py з наступним кодом:

import sys

from PySide2.QtWidgets import QApplication, QLabel
from PySide2 import QtCore

if __name__ == "__main__":
    app = QApplication(sys.argv)

    label = QLabel(QtCore.qVersion())
    label.show()

    QtCore.qVersion()

    sys.exit(app.exec_())

Далі створюємо конфігурацію запуску програми, як і створювали для першого прикладу. Після цього можна виконати програму.