Создать виртуальное окружение линукс

Установка и настройка среды разработки 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 — это имя вашего окружения разработки.

Читайте также:  Windows and linux cluster

После активации строка приглашения интерпретатора команд будет иметь префикс с именем среды:

Тестирование виртуальной среды

Запустите интерпретатор 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 под нужды своего проекта.

Определение виртуальной среды

Виртуальная окружение (или виртуальная среда) — это изолированная среда для проекта. Это «песочница», в рамках которой запускается приложение со своими версиями библиотек, обновление и изменение которых не затронет другие приложения, использующие те же библиотеки. Тем самым использование виртуальных сред позволяет избежать конфликтов версий.

Читайте также:  Partitioning in linux ubuntu

Виртуальное окружение со всеми необходимыми настройками можно «передавать» вместе с приложением. Так другому разработчику будет проще работать с вашим проектом.

Также библиотеки, которые необходимы только в одном проекте, можно подгрузить в виртуальное окружение и тем самым не засорять глобальное окружение.

Проверка версии 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, интерпретатор, скрипты и библиотеки.

Читайте также:  Настройка pulseaudio astra linux

С помощью команды 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. Данный материал позволит более осознанно подходить к процессу разработки и облегчит поддержку ваших проектов. Если остались вопросы, буду рад ответить на них в комментариях.

Источник

Оцените статью
Adblock
detector