Python venv install linux

Содержание
  1. Как создать виртуальную среду Python 3 на Ubuntu 20.04
  2. Обновление пакетов системы
  3. Установка pip для python3
  4. Создание виртуальной среды для python 3
  5. Проверка виртуальной среды Python
  6. Удалить виртуальную среду Python
  7. Заключение
  8. Питон в коробке – venv в python 3.3
  9. Как это работает?
  10. Как создать?
  11. Как использовать?
  12. Обновление
  13. Расширение EnvBuilder
  14. Исполняемые скрипты внутри venv
  15. Installing packages using pip and virtual environments¶
  16. Installing pip¶
  17. Installing virtualenv¶
  18. Creating a virtual environment¶
  19. Activating a virtual environment¶
  20. Установка и настройка среды разработки Python 3 в Ubuntu 18.04
  21. Предварительные требования
  22. Обновление программного обеспечения
  23. Проверка версии Python
  24. Установка pip
  25. Установка дополнительных инструментов
  26. Установка venv (Virtual Environment)
  27. Создание виртуальной среды для приложения
  28. Активация окружения виртуальной среды
  29. Тестирование виртуальной среды
  30. Деактивация виртуальной среды
  31. Использование в приложениях (shebang)
  32. Автоматическая активация виртуальной среды при запуске приложения
  33. Заключение

Как создать виртуальную среду Python 3 на Ubuntu 20.04

Виртуальная среда Python используется для создания изолированной среды для проекта Python. Эта среда содержит интерпретатор, библиотеки и сценарии проекта. Вы можете создать любое количество виртуальных сред для своих проектов, каждая из которых имеет свои собственные зависимости.

С помощью виртуальной среды Python можно избежать глобальную установку пакетов, которая может нарушить работу других проектов.

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

Если у вас не установлен Python рекомендую прочитать статью Установка Python в Ubuntu

Обновление пакетов системы

Чтобы обновить Ubuntu 20.04 последними пакетами, выполните команду apt:

$ sudo apt update
$ sudo apt upgrade

Установка pip для python3

Перед установкой виртуальной среды, требуется установить pip. Pip — это менеджер пакетов, который помогает устанавливать, удалять и обновлять пакеты для ваших проектов.

Чтобы установить pip для python 3 используйте команду:

Создание виртуальной среды для python 3

Команда Venv используется в Python для создания виртуальной среды. Пакет venv доступен в репозитории Ubuntu.

Чтобы установить пакет venv, требуется использовать следующую команду:

Теперь, чтобы создать виртуальную среду, введите:

Приведенная выше команда создает каталог с именем «my_env_project«, который содержит pip, интерпретатор, скрипты и библиотеки.

$ ls my_env_project/
bin include lib lib64 pyvenv.cfg share

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

Командная строка изменится на вашу среду и будет выглядеть так, как показано ниже:

Проверка виртуальной среды Python

Запустите команду «python» внутри виртуальной среды, чтобы открыть интерпретатор:

Ответ терминала будет следующим:

Python 3.8.5 (default, Jul 28 2020, 12:59:40)
[GCC 9.3.0] on linux
Type «help», «copyright», «credits» or «license» for more information.

Попробую установить пакет NumPy внутри виртуальной среды Python. Для этого воспользуюсь командой:

$ pip install numpy —user

Если вы получите ошибку типа:

“ERROR: Can not perform a ‘–user’ install. User site-packages are not visible in this virtualenv.”

Вам требуется установить пакет include-system-site-packages и установить значение true в файле pyvenv.cfg.

Каждый раз, когда вы устанавливаете новый пакет в своей виртуальной среде, вы должны иметь возможность импортировать его в свой проект.

/my_env_project$ python
>>> import numpy

Давайте протестируем математическую функцию:

Чтобы выйти из интерпретатора, введите:

Вы можете создать скрипт python и запустить его из виртуальной среды python 3.

Вы увидите следующий результат:

Чтобы выполнить сценарий, введите:

Сценарий выполняется внутри виртуальной среды с именем my_env_project.

Удалить виртуальную среду Python

Для выхода из виртуальной среды используйте команду exit или сочетание клавиш Ctrl+d. Чтобы удалить виртуальную среду, выполните следующую команду:

Приведенная выше команда не удалит каталог my_env_project. Для удаления каталога потребуется использовать команду rm.

Заключение

Надеюсь что данная статья помогла вам узнать, как правильно создать виртуальную среду для ваших проектов Python 3 на Ubuntu 20.04.

Источник

Питон в коробке – venv в python 3.3

Наверняка, большинство из тех, кто разрабатывает или деплоит Python приложения, использует виртуальные окружения. В частности через virtualenv, написанный Ian Bicking.

Читайте также:  Браузеры для windows 10 с переводом

Идея оказалась так хороша и распространена, что нечто похожее теперь присутствует в Python 3.3 из коробки в виде модуля venv. Он почти такой же, как virtualenv, только немного лучше.

Как это работает?

Основное отличие venv в том, что он встроен в интерпретатор и может отрабатывать ещё до загрузки системных модулей. Для этого, при определении базовой директории с библиотеками, используется примерно такой алгоритм:

  • в директории с интерпретатором или уровнем выше ищется файл с именем pyvenv.cfg ;
  • если файл найден, в нём ищется ключ home, значение которого и будет базовой директорией;
  • в базовой директории идёт поиск системной библиотеки (по спец. маркеру os.py );
  • если что-то пошло не так – всё откатывается к захардкоженному в бинарнике значению.

Вот и вся суть venv, всё остальное уже обёртка над этим.

Как создать?

Всё очень просто, нужно вызвать через ключ -m модуль venv , либо использовать встроенный скрипт pyvenv:

Скрипт создаст указанную директорию, вместе со всеми родительскими директориями, если потребуется, и построит виртуальное окружение. Это можно делать и в Windows, только вызов будет чуть более многословным:

При создании можно добавлять различные параметры, как, например, включение системных site-packages или использование symlink вместо копирования интерпретатора.

В отличии от virtualenv новый venv требует чтобы создаваемая директория не существовала, либо была пустой. Вероятно, это сделано, чтобы не допускать конфликтов с существующими файлами. Это бага в python 3.3, в 3.4 уже исправлено. (Спасибо, svetlov).

Как использовать?

Можно использовать старый добрый метод активации через bin/activate (Scripts/activate в windows):

А можно и не использовать, достаточно лишь вызвать интерпретатор из окружения и всё сработает автоматически:

Это конечно не сработает для скриптов, запускаемых напрямую через #!/usr/bin/env python3 , для них всё равно нужно будет, как и раньше, делать активацию. Решение есть – о нём чуть ниже.

Обновление

Если в вашей системе обновилась версия python, то виртуальное окружение иногда тоже нужно обновить.
Всё просто – вызываем venv аналогично созданию окружения, добавив ключ —upgrade :

Это произойдёт автоматически, если использовать symlink, но если вы хотите кроме изоляции делать фиксацию версии python и библиотек, я бы рекомендовал делать обновление вручную.

Расширение EnvBuilder

Вся работа по созданию окружения падает на класс venv.EnvBuilder , этот класс написан так, чтобы его можно было расширять.

Например, можно при инициализации окружения ставить туда distribute , pip и необходимые начальные зависимости из requirements.txt . Более сложную логику лучше оставить на совести более предназначенных для этого инструментов, типа buildout или make, но первоначальную настройку можно провести и на уровне EnvBuilder.

При создании окружения используется метод create(self, env_dir) , в исходном классе он выглядит так:

Метод описывает суть всего процесса: создание директории ( ensure_directories ), конфигурацию ( create_configuration ), добавление бинарников питона ( setup_python ) и добавление скриптов активации ( setup_scripts ).

В конце вызывается хук post_setup , в который вы можете добавлять свои действия. Видно, что post_setup выполняется только при создании окружения, а при — upgrade он выполняться не будет. Это легко исправить, добавив ещё один хук:

В качестве параметров при вызове методов после ensure_directories будет передаваться context — объект, содержащий в виде атрибутов всю необходимую информацию о создаваемом окружении. Почему-то в документации пока эти ключи не описаны, но вы легко сможете понять всё самостоятельно, заглянув в код метода ensure_directories в базовом классе. Приведу самые полезные из атрибутов:

  • context.bin_path — путь к директории с бинарниками и исполняемыми скриптами,
  • context.env_dir — путь к директории с созданным окружением,
  • context.env_exe — путь к бинарнику внутри окружения.

Соответственно, для запуска python скрипта внутри окружения, можно сделать:

Читайте также:  Как копируются файлы windows 10

Исполняемые скрипты внутри venv

Вернёмся к проблеме с исполняемыми скриптами внутри виртуального окружения.

В virtualenv для них достаточно было указать интерпретатор через #/usr/bin/env python3 и использовать, не забывая сделать . bin/activate . Если вас такой подход устраивал, то вы можете им продолжать пользоваться и в venv .

Есть и новый путь. Внутри EnvBuilder реализован метод install_scripts(self, context, path) , который автоматизирует копирование скриптов и бинарников в создаваемое окружение. В path необходимо передать путь к директории с вложенными поддиректориями «common», «nt», «posix» и т.д. В поддиректории, в свою очередь, положить необходимые скрипты или бинарники. В «common» скрипты для всех платформ, в «nt» – для Windows, «posix» – для Linux, Mac OS X и других posix систем.

Кроме того, для текстовых файлов выполняется постановка значений. Из коробки поддерживаются:

  • __VENV_DIR__
  • __VENV_NAME__
  • __VENV_BIN_NAME__
  • __VENV_PYTHON__

Пример шаблона запускаемого python скрипта:

__VENV_PYTHON__ будет заменено на полный путь к интерпретатору python в виртуальном окружении.

После установки такого скрипта через install_scripts , его можно будет запускать, без необходимости активации окружения через bin/activate.

Источник

Installing packages using pip and virtual environments¶

This guide discusses how to install packages using pip and a virtual environment manager: either venv for Python 3 or virtualenv for Python 2. These are the lowest-level tools for managing Python packages and are recommended if higher-level tools do not suit your needs.

This doc uses the term package to refer to a Distribution Package which is different from an Import Package that which is used to import modules in your Python source code.

Installing pip¶

pip is the reference Python package manager. It’s used to install and update packages. You’ll need to make sure you have the latest version of pip installed.

Debian and most other distributions include a python-pip package; if you want to use the Linux distribution-provided versions of pip, see Installing pip/setuptools/wheel with Linux Package Managers .

You can also install pip yourself to ensure you have the latest version. It’s recommended to use the system pip to bootstrap a user installation of pip:

Afterwards, you should have the latest version of pip installed in your user site:

The Python installers for Windows include pip. You can make sure that pip is up-to-date by running:

Afterwards, you should have the latest version of pip:

Installing virtualenv¶

If you are using Python 3.3 or newer, the venv module is the preferred way to create and manage virtual environments. venv is included in the Python standard library and requires no additional installation. If you are using venv, you may skip this section.

virtualenv is used to manage Python packages for different projects. Using virtualenv allows you to avoid installing Python packages globally which could break system tools or other projects. You can install virtualenv using pip.

Creating a virtual environment¶

venv (for Python 3) and virtualenv (for Python 2) allow you to manage separate package installations for different projects. They essentially allow you to create a “virtual” isolated Python installation and install packages into that virtual installation. When you switch projects, you can simply create a new virtual environment and not have to worry about breaking the packages installed in the other environments. It is always recommended to use a virtual environment while developing Python applications.

To create a virtual environment, go to your project’s directory and run venv. If you are using Python 2, replace venv with virtualenv in the below commands.

The second argument is the location to create the virtual environment. Generally, you can just create this in your project and call it env .

Читайте также:  Служба центр обновления windows сама включается

venv will create a virtual Python installation in the env folder.

You should exclude your virtual environment directory from your version control system using .gitignore or similar.

Activating a virtual environment¶

Before you can start installing or using packages in your virtual environment you’ll need to activate it. Activating a virtual environment will put the virtual environment-specific python and pip executables into your shell’s PATH .

You can confirm you’re in the virtual environment by checking the location of your Python interpreter:

Источник

Установка и настройка среды разработки Python 3 в Ubuntu 18.04

Python — это гибкий и универсальный язык программирования, который является отличным решением для реализации сценариев, автоматизации, анализа данных, машинного обучения и общей разработки.

Из этой статьи вы узнаете, как установить Python и настроить среду разработки на Ubuntu 18.04.

Предварительные требования

Для работы вам понадобится сервер Ubuntu 18.04 с базовыми настройками.

Обновление программного обеспечения

В системе Ubuntu 18.04 и других дистрибутивах, основанных на Debian, Python 3 и Python 2 установлены по умолчанию, поэтому на первом шаге достаточно выполнить обновление пакетов. Войдите на сервер Ubuntu 18.04 под sudo и обновите пакеты с помощью APT (Advanced Packaging Tool):

Флаг –y автоматически подтвердит любые запросы системы.

Проверка версии Python

Проверьте версию Python 3 с помощью следующей команды:

В ответе вы увидите номер текущей версии, например:

Установка pip

Чтобы управлять программными пакетами Python, установите pip — инструмент, который помогает устанавливать необходимые для проекта библиотеки и модули и управлять ими.

Теперь вы можете устанавливать пакеты Python3 с помощью pip :

Вместо имя_пакета укажите имя любого пакета или библиотеки Python, например, Django для веб-разработки или NumPy для научных вычислений. Например, для установки NumPy введите pip3 install numpy .

Установка дополнительных инструментов

Есть еще несколько пакетов и инструментов для разработки, чтобы обеспечить надежную настройку среды:

Установка venv (Virtual Environment)

Виртуальная среда обеспечивает изолированное пространство для проектов Python на сервере, то есть, все необходимые зависимости — исполняемые файлы, библиотеки и прочие файлы копируются в некоторый выбранный каталог, а приложение использует их, а не установленные в системе. Это позволяет обеспечить стабильность среды разработки и чистоту основной системы.

Мы будем использовать модуль venv , часть стандартной библиотеки Python 3, который можно установить с помощью:

Создание виртуальной среды для приложения

Создать новую среду можно с помощью модуля venv . В примере ниже мы назовем новую среду env , вы можете указать любое желаемое название.

Активация окружения виртуальной среды

Активируйте виртуальную среду с помощью приведенной ниже команды, где env — это имя вашего окружения разработки.

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

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

Запустите интерпретатор Python:

Помните, что в виртуальной среде Python 3 вместо команды python3 можно использовать python , а вместо pip3 — pip .

Воспользуйтесь функцией print() , чтобы создать стандартную программу «Hello, World»:

Деактивация виртуальной среды

Для деактивации среды используйте специальную команду:

Использование в приложениях (shebang)

Очень важно в приложениях изменить полный путь #!/usr/bin/python3 на #!/usr/bin/env python . Это позволит выбирать правильный транслятор, независимо от того, выполняется ли скрипт в рамках venv и или в системном окружении. Если вы оставляете путь #!/usr/bin/python3 , всегда будет использоваться системный интерепретатор, чувствительный к изменению среды.

Автоматическая активация виртуальной среды при запуске приложения

Для автоматической активации виртуальной среды при запуске приложения вы можете создать скрипт-обертку, который выполнит необходимые действия.

Подготовим скрипт myapp/run.sh для запуска приложения service.py в рамках виртуального окружения со следующим содержимым:

Установим права на исполнение и протестируем его запуск:

Заключение

Изолированная виртуальная среда разработки Python создана, можно приступать к разработке на python.

Источник

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