- Установка и настройка среды разработки Python 3 в Ubuntu 18.04
- Предварительные требования
- Обновление программного обеспечения
- Проверка версии Python
- Установка pip
- Установка дополнительных инструментов
- Установка venv (Virtual Environment)
- Создание виртуальной среды для приложения
- Активация окружения виртуальной среды
- Тестирование виртуальной среды
- Деактивация виртуальной среды
- Использование в приложениях (shebang)
- Автоматическая активация виртуальной среды при запуске приложения
- Заключение
- Настройка виртуального окружения в Linux
- Определение виртуальной среды
- Проверка версии python
- Обновление пакетов
- Установка пакета venv
- Создание виртуальной среды в Linux
- Активация виртуальной среды
- Установка библиотек внутри виртуальной среды
- Совместное использование виртуальной среды
- Деактивация виртуальной среды
Установка и настройка среды разработки Python 3 в Ubuntu 18.04
Из этой статьи вы узнаете, как установить Python и настроить среду разработки на Ubuntu 18.04.
Предварительные требования
Для работы вам понадобится сервер Ubuntu 18.04 с базовыми настройками.
Обновление программного обеспечения
В системе Ubuntu 18.04 и других дистрибутивах, основанных на Debian, Python 3 и Python 2 установлены по умолчанию, поэтому на первом шаге достаточно выполнить обновление пакетов. Войдите на сервер Ubuntu 18.04 под sudo и обновите пакеты с помощью APT (Advanced Packaging Tool):
sudo apt update sudo apt -y upgrade
Флаг –y автоматически подтвердит любые запросы системы.
Проверка версии Python
Проверьте версию Python 3 с помощью следующей команды:
В ответе вы увидите номер текущей версии, например:
Установка pip
Чтобы управлять программными пакетами Python, установите pip — инструмент, который помогает устанавливать необходимые для проекта библиотеки и модули и управлять ими.
sudo apt install -y python3-pip
Теперь вы можете устанавливать пакеты Python3 с помощью pip :
Вместо имя_пакета укажите имя любого пакета или библиотеки Python, например, Django для веб-разработки или NumPy для научных вычислений. Например, для установки NumPy введите pip3 install numpy .
Установка дополнительных инструментов
Есть еще несколько пакетов и инструментов для разработки, чтобы обеспечить надежную настройку среды:
sudo apt install -y build-essential libssl-dev libffi-dev python3-dev
Установка venv (Virtual Environment)
Виртуальная среда обеспечивает изолированное пространство для проектов Python на сервере, то есть, все необходимые зависимости — исполняемые файлы, библиотеки и прочие файлы копируются в некоторый выбранный каталог, а приложение использует их, а не установленные в системе. Это позволяет обеспечить стабильность среды разработки и чистоту основной системы.
Мы будем использовать модуль venv , часть стандартной библиотеки Python 3, который можно установить с помощью:
sudo apt install -y python3-venv
Создание виртуальной среды для приложения
Создать новую среду можно с помощью модуля venv . В примере ниже мы назовем новую среду env , вы можете указать любое желаемое название.
mkdir myapp && cd myapp python3 -m venv env
Активация окружения виртуальной среды
Активируйте виртуальную среду с помощью приведенной ниже команды, где env — это имя вашего окружения разработки.
После активации строка приглашения интерпретатора команд будет иметь префикс с именем среды:
Тестирование виртуальной среды
Запустите интерпретатор Python:
(env) netpoint@ubuntu:~/myapp$ python
Помните, что в виртуальной среде Python 3 вместо команды python3 можно использовать python , а вместо pip3 — pip .
Воспользуйтесь функцией print() , чтобы создать стандартную программу «Hello, World»:
Python 3.6.5 (default, Apr 1 2018, 05:46:30 [GCC 7.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> print("Hello, World!") Hello, World! >>> quit()
Деактивация виртуальной среды
Для деактивации среды используйте специальную команду:
(env) netpoint@ubuntu:~/myapp$ deactivate
Использование в приложениях (shebang)
Очень важно в приложениях изменить полный путь #!/usr/bin/python3 на #!/usr/bin/env python . Это позволит выбирать правильный транслятор, независимо от того, выполняется ли скрипт в рамках venv и или в системном окружении. Если вы оставляете путь #!/usr/bin/python3 , всегда будет использоваться системный интерепретатор, чувствительный к изменению среды.
Автоматическая активация виртуальной среды при запуске приложения
Для автоматической активации виртуальной среды при запуске приложения вы можете создать скрипт-обертку, который выполнит необходимые действия.
Подготовим скрипт myapp/run.sh для запуска приложения service.py в рамках виртуального окружения со следующим содержимым:
#!/usr/bin/env bash BASEDIR=$(dirname "$0") echo "Executing App in '$BASEDIR'" PORT=$1 source $BASEDIR/env/bin/activate python $BASEDIR/service.py $PORT
Установим права на исполнение и протестируем его запуск:
chmod +x myapp/run.sh ./myapp/run.sh 8888
Заключение
Изолированная виртуальная среда разработки Python создана, можно приступать к разработке на python.
Настройка виртуального окружения в Linux
Операционная система Linux получила большую популярность среди админов и разработчиков благодаря ряду преимуществ, таких как бесплатное распространение, наличие открытого исходного кода, низкие требования к вычислительным ресурсам.
Python интерпретатор предустановлен в большинстве дистрибутивов Linux. Согласно рейтингу TIOBE, на текущий момент самым упоминаемым в поисковых запросах языком программирования является python. Он обладает низким порогом входа, но имеет большой спектр возможностей для применения.
Использование python и Linux «в связке» может сильно облегчить вам жизнь. Я расскажу о том, как настроить python в Linux под нужды своего проекта.
Определение виртуальной среды
Виртуальная окружение (или виртуальная среда) — это изолированная среда для проекта. Это «песочница», в рамках которой запускается приложение со своими версиями библиотек, обновление и изменение которых не затронет другие приложения, использующие те же библиотеки. Тем самым использование виртуальных сред позволяет избежать конфликтов версий.
Виртуальное окружение со всеми необходимыми настройками можно «передавать» вместе с приложением. Так другому разработчику будет проще работать с вашим проектом.
Также библиотеки, которые необходимы только в одном проекте, можно подгрузить в виртуальное окружение и тем самым не засорять глобальное окружение.
Проверка версии python
Как уже говорилось ранее, python предустановлен в большинстве дистрибутивов Linux. Я использовал версию Ubuntu 20.04. Проверить текущую версию python можно с помощью команды: python3 -V.
Обновление пакетов
Вначале рассмотрю работу с python библиотеками в Linux.
Advanced Package Tool (apt) – это пакетный менеджер, позволяющий производить различные манипуляции с пакетами: устанавливать, удалять, обновлять, искать, загружать без установки. При этом все зависимости будут разрешаться автоматически.
Пакет – это архив, в котором содержатся бинарные и конфигурационные файлы, информация о том, куда их разместить в файловой системе, и список действий по установке. В Linux python библиотеки являются пакетами.
В Linux есть список репозиториев, из которых происходит установка пакетов. Список хранится в текстовом файле /etc/apt/sources.list, а также в директории /etc/apt/sources.list.d/. При выполнении команды apt update, apt обращается к списку репозиториев и из каждого репозитория в списке получает информацию о пакетах, находящихся в нём. Вся эта информация сохраняется в операционной системе.
Если выходит новая версия библиотеки, то apt не узнает об этом, пока не будет обновлена информация в репозиториях. Поэтому, если установить пакет, предварительно не выполнив обновление, то будет установлена та версия пакета, информация о которой хранится в системе в данный момент.
Для обновления пакетов необходимо выполнить следующие две команды.
Первая команда: sudo apt update.
Вторая команда: sudo apt -y upgrade.
Флаг -y в команде обозначает автоматическое подтверждение запросов на установку.
Установка пакета venv
Для работы с виртуальным окружением в Linux нужно установить пакет venv с помощью команды sudo apt install python3-venv.
Создание виртуальной среды в Linux
Создать виртуальное окружение можно командой python3 -m venv my_venv.
My_venv – название виртуального окружения.
Приведенная выше команда создает каталог с именем «my_venv» (а также родительские каталоги, которые ещё не существуют), содержащий менеджер пакетов pip, интерпретатор, скрипты и библиотеки.
С помощью команды ls -la можно увидеть файлы в текущей директории.
Если вы хотите создать папку с окружением в конкретной директории, то вместо названия окружения нужно указать путь к папке. Например, python3 -m venv ~/my_venv.
Далее перейду в созданный каталог и посмотрю содержимое созданной папки.
Файл pyvenv.cfg содержит ключ, который будет указывать на ту версию Python, для которой запущена эта команда.
Каталог bin содержит копию/символическую ссылку двоичных файлов Python.
Каталог include включает в себя С-заголовки, компилирующие пакеты Python.
В каталог share входит python wheels. Python wheels — это формат готовых пакетов для Python, который помогает ускорить разработку программного обеспечения за счет сокращения количества операций компиляции.
Каталог lib в виртуальной среде имеет такую же структуру, как каталог lib в глобальном окружении. И содержит папку site-packages, в которую устанавливаются библиотеки.
Активация виртуальной среды
Виртуальное окружение создано. Для начала работы с окружением нужно его активировать.
Чтобы начать использовать эту виртуальную среду, необходимо активировать её, запустив скрипт под названием activate:
После активации строка консоли будет иметь префикс с именем среды.
Можно проверить версию python.
А также посмотреть список установленных в окружении библиотек.
Установка библиотек внутри виртуальной среды
Попробую установить библиотеку в окружение.
После активации все библиотеки будут устанавливаться в данное виртуальное окружение.
Чтобы проверить как установилась библиотека, можно попробовать импортировать её.
Если при импорте ошибок не было, значит, установка библиотеки прошла успешно.
Совместное использование виртуальной среды
Если вы хотите, чтобы другие могли на своих компьютерах запустить код вашего проекта, то помимо кода им необходимо иметь те же версии библиотек, что и у вас.
Для этого создам файл, в котором будут прописаны все необходимые библиотеки и их версии.
Выполню следующую команду:
Файл requirements.txt содержит все библиотеки (с указанием их версий), которые установлены в данном окружении.
Установить все эти библиотеки можно выполнив одну команду в терминале: pip install -r requirements.txt.
После успешной установки библиотек другой человек сможет запустить ваш проект на своем компьютере.
Деактивация виртуальной среды
Чтобы выйти из виртуального окружения, необходимо ввести команду deactivate.
В данном посте я рассмотрел тему виртуальных окружений в Linux. Данный материал позволит более осознанно подходить к процессу разработки и облегчит поддержку ваших проектов. Если остались вопросы, буду рад ответить на них в комментариях.