- Русская Исследовательская IT-Лаборатория
- Веб-разработка, анализ данных и электронная инженерия
- Создание виртуального окружения для python3 на Ubuntu
- Как создать виртуальную среду Python 3 на Ubuntu 20.04
- Обновление пакетов системы
- Установка pip для python3
- Создание виртуальной среды для python 3
- Проверка виртуальной среды Python
- Удалить виртуальную среду Python
- Заключение
- Использование виртуальных сред venv и virtualenv для создания окружения Python
- Для чего нужно виртуальные среды?
- Установка и создания окружения с virtualenv
- Активация и выход из окружения
- Управление средами через virtualenvwrapper
- Настройки для Linux
- Настройки для Windows
- Основные команды
- Создание виртуальных сред со встроенным пакетом Python venv
- Создание виртуального окружения в Pycharm
- Создание списка установленных пакетов Requirements.txt
Русская Исследовательская IT-Лаборатория
Веб-разработка, анализ данных и электронная инженерия
Создание виртуального окружения для python3 на Ubuntu
Традиционно для создания виртуального окружения для Python используется модуль virtualenv. Но, начиная с версии Python 3.3, появилась возможность создания «легкого» виртуального окружения с помощью встроенного модуля pyvenv.
1. Для начала можно проверить переменную $PATH, которая указывает, какие пути прописаны для запуска из командной оболочки:
Согласно данной информации python установлен как в пакете Anaconda (/home/pavel/installed/anaconda3/bin), так и в системном варианте (/usr/bin).
По умолчанию (если просто набрать python ) запускается python3 из пакета Anaconda, а если я хочу получить доступ к системному python, нужно набрать: /usr/bin/python3 .
Если у вас не установлены никакие дополнительные пакеты, то для вызова системного python3 достаточно набрать в командной строке: python3 .
2. Если не установлена поддержка виртуального окружения, то есть система выдает при попытках создания (см. п.3) следующее сообщение:
The virtual environment was not created successfully because ensurepip is not available. On Debian/Ubuntu systems, you need to install the python3-venv package using the following command.
Тогда нужно установить:
3. Далее переходим в выбранную папку, и создаем в ней поддержку виртуального окружения:
В результате в директории work/python будет создана папка myvenv с необходимым содержимым для поддержки виртуального окружения.
4. Активировать виртуальное окружение можно командой (из папки, где оно создано):
В результате в bash в начале командной строки появиться надпись (myvenv).
5. Для деактивации используется команда:
6. Можно убедится, что pip и python работают в контейнере:
7. Если виртуальное окружение создавалась для работы с Django, то далее нужно выполнить следующие команды:
При подготовке статьи использовались следующие источники:
Любые замечания, пожелания и дополнения к статье пишите в комментариях.
Дополнительная информация (добавлена 21-03-2017).
Виртуальное окружение можно создавать и используя установленную Anaconda с помощью менеджера пакетов Conda. При этом есть возможность гибко выбирать, какую версию python нужно использовать.
Все доступные версии python можно проверить командой:
Чтобы создать виртуальное окружение с именем venv и самым последним python из 3-й ветки, достаточно выполнить:
Файлы окружения будут располагаться в папке envs внутри директории с Anaconda.
Активация и деактивация виртуального окружения производится с помощью следующих команд:
Посмотреть все имеющиеся виртуальные окружения, созданные с помощью Conda можно командой:
Если Anaconda не прописана в системном пути $PATH, то для запуска созданного Conda виртуального окружения может потребоваться набирать длинную команду, например:
Это, конечно, неудобно. Кроме того, если запуск виртуального окружения нужен для работы с Jupyter Notebook, то проще сделать небольшой файлик со скриптом на bash в рабочей директории.
Первая строчка создает файл. Вторая — присваивает ему атрибут «исполняемый». Третья — запускает редактор для внесения правок в файл. В редакторе добавляем и сохраняем следующий код:
Из консоли такой файл запускается командой bash begin.sh или ./begin.sh . Можно его запускать двойным кликом левой клавишей мышки и из файлового менеджера Nautilus. Если этого не происходит, нужно перейти в раздел «Параметры» — «Поведение» и поставить галочку «Каждый раз спрашивать» в разделе «Исполняемые текстовые файлы».
Добавлено 29-03-2017:
Для дополнительного чтения и понимания сути виртуального окружения есть хорошая статья (и комментарии) — https://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/. В ней дается вводная информация и базовые сведения по работе с pip и virtualenv.
Для удобства организации виртуальных окружений и быстрой работы с ними есть надстройка virtualenvwrapper.
Источник
Как создать виртуальную среду 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 и virtualenv для создания окружения Python
Виртуальные среды (окружения) используются в Python 3 контроля версионности пакетов. Кроме контроля версий среды используют для использования разных интерпретаторов. Самих пакетов, которые создают виртуальные окружения много. В этой статье речь пойдет про venv, virtualenv и virtualenvwrapper.
Навигация по посту
Для чего нужно виртуальные среды?
При создании скрипта или программы вы часто используете сторонние модули (пакеты). Если в последующем потребуется перенос программы на другой компьютер, то вы можете столкнуться с двумя проблемами:
- Нужные пакеты отсутствуют на новом компьютере и придется проверять каждый файл программы для их поиска. Либо получить список установленных пакетов через «pip list» на старом компьютере, который выведет множество лишних модулей.
- Даже если количество пакетов или файлов программ маленькое, или вы его создали отдельно, то вы все равно можете столкнуться с проблемами в версиях. Пакеты могли быть обновлены, а методы и классы изменены.
Использование виртуальных сред избавляет вас от этих проблем. В таком виртуальной среде находится свой интерпретатор, свой pip и все пакеты относятся только к нему. Так же, весь проект, можно перенести как папку на другой компьютер без ошибок.
Кроме этого вы можете запускать разные версии Python в разных виртуальных средах, что сильно упрощает работу.
Установка и создания окружения с virtualenv
Самый популярный пакет, который используется для создания виртуальных сред в Python, это virtualenv. Для его установки на Windows выполните:
Для установки на Linux системах, для Python 3, понадобится выполнить такую команду:
Если вы не будете использовать sudo, то в зависимости от версии ОС у вас появятся разные ошибки. В CentOS установка не выполнится вовсе, а в Ubuntu не будет добавлен путь в переменную окружения:
- PermissionError: [Errno 13] Permission denied: ‘/usr/local/lib/python3.6’
- Command ‘virtualenv’ not found, but can be installed with: sudo apt install virtualenv
Далее, вне зависимости от того используете ли вы Linux или Windows, вы можете выполнить команду получения справки:
Я использую Python 3.6, и так я создам окружение в папке projectname/venv:
Способ выше устанавливает окружение относительно текущего пути. Если нужно установить на другом диске или каталоге, то можно использовать абсолютный путь. Так же не обязательно указывать параметр «-p» если вы используете одну версию Python. Вариант как это может быть сделано на Windows:
Само расположение виртуального окружения рекомендуется создавать в одной папке вместе разрабатываемым приложением. Такую структуру будет легче сопровождать. Я обычно придерживаюсь такой структуры:
Активация и выход из окружения
Для того что бы виртуальное окружения начало работать его нужно активировать. В разных ОС это делается по-разному.
В случаях с Linux указываем полный путь до venv/bin/activate:
Для активации в Windows, в папке venv\Scripts есть несколько файлов:
- activate.ps1 — для активации через Powershell;
- activate.bat — для активации через CMD.
Для активации просто укажите полный путь до файла. Например:
О том что вы находитесь в виртуальном окружении свидетельствуют следующие надписи:
Вы так же можете сравнить количество установленных пакетов внутри виртуального окружения с тем, что установлено вне:
Теперь вы можете устанавливать пакеты, которые будут работать только в этой среде.
Для выхода из окружения, за исключением запуска с помощью CMD, используйте команду:
Для CMD нужно указать путь до файла «venv\Scripts\deactivate.bat».
Управление средами через virtualenvwrapper
Если вы создаете множество виртуальных сред, например для тестирования в разных версиях Python, вы можете использовать virtualenvwrapper. Этот пакет представляет собой надстройку для virtualenv для более удобной работы и устанавливается отдельно.
Благодаря этому пакету мы сможем запускать ваши окружения так:
Для Windows нужно установить следующий пакет:
Для Linux нужно так же использовать sudo:
Настройки для Linux
Virtualenvwrapper хранит все окружения в одном месте. Это место определяется через переменную WORKON_HOME в Linux и по умолчанию равно директории ‘/home/пользователь/.virtualenvs’. Если вы хотите изменить это расположение — выполните команду экспорта с нужным путем:
Следующая команда добавит скрипты в домашний каталог для удобной работы:
При выполнении предыдущей команды у меня появилась ошибка:
virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader
Она исправилась добавлением переменной в env с путем до нужного интерпретатора:
Настройки для Windows
Все виртуальные среды, которые будут созданы, по умолчанию будут располагаться по пути «C:\Users\%USERNAME%\Envs». Если вам нужно изменить расположение, то создайте переменную WORKON_HOME с нужной директорией:
Важный момент, в случае с Windows, команды virtualenvwrapper не будут выполняться Powershell. Команды работают только через CMD.
Основные команды
Далее мы можем использовать следующие команды (основные):
- mkvirtualenv — создание окружения;
- lsvirtualenv — отображение списка окружений;
- rmvirtualenv — удаление;
- workon — переключение между виртуальными средами;
- deactivate — выход из текущего окружения.
Так мы создадим виртуальную среду:
Так выйдем из созданной среды:
Если нужно использовать другую версию Python:
Создание виртуальных сред со встроенным пакетом Python venv
Ранее, до версии Python >= 3.6 базовая установка интерпретатора шла вместе с пакетом pyenv, но на данный момент он считается устаревшим и более не поддерживается. На его смену пришел venv. В некоторых версиях ОС (Ubuntu/Debian) может потребоваться его отдельная установка:
Проверить, то что пакет venv установлен, можно так:
Следующая команда создаст виртуальную среду:
Выбранная версия Python и стандартные библиотеки будут скопированы в указанную папку.
Активация окружения выполняется следующим образом:
Для выхода из окружения:
Создание виртуального окружения в Pycharm
В некоторых IDE, например Pycharm, консоль встроенная и по умолчанию у вас будет запускаться интерпретатор выбранный в настройках. В Pycharm вы можете создать или изменить проект привязав его к определенному интерпретатору.
Виртуальную среду можно создать при создании нового проекта. Для этого нужно зайти по следующему пути:
В новом окне выбрать название проекта, место для копирования, интерпретатор и нажать кнопку создания окружения:
Для настройки окружения для старых проектов нужно зайти в настройки:
Во вкладе «Python Interpreter» будет выбор из существующих интерпретаторов (1). Либо можно создать новый (2):
Создание списка установленных пакетов Requirements.txt
Используя виртуальные окружения можно легко создавать файл, в котором будут собраны все названия и версии пакетов для определенного проекта. Этот подход используется для удобства работы, так как одной программой мы сразу установим нужные пакеты.
Так мы получим список пакетов, установленных в виртуальном окружении, в формате читаемом pip:
Следующим способом мы экспортируем этот список в файл Requirements.txt (способ подходит для Bash/CMD/Powershell):
На другом компьютере/среде мы можем этот список быстро проверить и установить отсутствующие пакеты следующей командой:
Источник