Как выбрать виртуальное окружение pycharm
virtualenv Python
Введение
virtualenv это инструмент для изоляции проектов друг от друга.
Можно создавать проекты с разными установленными пакетами, разными версиями Python, Pip и так далее.
Применяется чаще всего с двумя целями:
Первая: писать и тестировать код, который должен работать в разных условиях. Например, нужна версия программы для Python 2.7 и для Python 3.8.
Вторая: не «портить» установленный системный Python, превращая его в кашу из кучи разных пакетов.
Чтобы проверить установлен virtualenv или нет выполните
Если в результате вы видите что-то похожее, то можно продолжать. Ваша версия может отличаться от 20.0.21 это нормально.
virtualenv 20.0.21 from c:\users\andrei\appdata\local\programs\python\python38-32\lib\site-packages\virtualenv\__init__.py
Создать новое виртуальное окружение
Создадим директорию, в которой будем хранить виртуальные окружения.
mkdir virtualenvs
cd virtualenvs
Создадим новое виртуальное окружение, которое назовём test_env
Или, если мы хотим явно указать, что нужно создать виртуальное окружение именно для Python3.
У меня по умолчанию создается для Python3, но в Вашей системе это может быть не так, поэтому второй вариант предпочтительнее.
created virtual environment CPython3.8.2.final.0-32 in 1410ms creator CPython3Windows(dest=C:\Users\Andrei\virtualenvs\test_env, clear=False, global=False) seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:\Users\Andrei\AppData\Local\pypa\virtualenv\seed-app-data\v1.0.1) activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
Выбор версии Python для окружения
Чтобы создать окружение с определённой версией Python используйте команду с указанием версии.
Чтобы это сработало нужно иметь установленный Python данной версии
Из чего состоит окружение
Зайдём внутрь test_env и посмотрим, что там находится
Директория Scripts в Linux будет называться bin.
Перейдём туда и изучим состав.
Под Linux нужен будет activate
Под Windows activate.bat для обычной командной строки или activate.ps1 для PowerShell. не все пакеты работают одинаково, некоторые не поддерживают PowerShell, но какие-то действия проще делать в нём.
Виртуальные окружения в PyCharm
Вы можете выбрать каким инструментом пользоваться для работы с виртуальными окружениями.
Это делается на этапе создания проекта
По умолчанию доступны virtualenv, pipenv и conda
Название для окружения задаётся здесь:
Вы можете увидеть его после создания проекта, запустив терминал
Configure a virtual environment
For Python 3.3+ the built-in venv module is used, instead of the third-party virtualenv utility.
Create a virtual environment
Ensure that you have downloaded and installed Python on your computer.
Do one of the following:
Press Ctrl+Alt+S to open the project Settings/Preferences and go to Project
If New environment is selected:
If PyCharm detects no Python on your machine, it provides two options: to download the latest Python versions from python.org or to specify a path to the Python executable (in case of non-standard installation).
Select the Make available to all projects checkbox if you want to reuse this environment when creating Python interpreters in PyCharm.
If Existing environment is selected:
Select the Make available to all projects checkbox if you want to reuse this environment when creating Python interpreters in PyCharm.
Click OK to complete the task.
You can create as many virtual environments as required. To easily tell them from each other, use different names.
Set an existing virtual environment
Press Ctrl+Alt+S to open the IDE settings and select Project
Select the target environment from the list and click OK to confirm your choice.
PyCharm can create a virtual environment for your project based on the project requirements.
Create a virtual environment using the project requirements
Open any directory with your source files that contains the requirements.txt or setup.py file: select File | Open from the main menu and choose the directory.
If no virtual environment has been created for this project, PyCharm suggests creating it:
Keep the suggested options, or specify the environment location or base Python interpreter. Click OK to complete the task.
This approach is particularly helpful when you want to upgrade a version of Python your environment is based on, for example, from 3.5 to 3.9. You can specify a new base interpreter and use requirements.txt to ensure all the needed packages are installed.
For any of the configured Python interpreters (but Docker-based), you can:
Once you have create a new virtual environment, you can reuse it for your other projects. Learn more how to setup an existing environment as a Python interpreter.
Создание виртуальных окружений и установка библиотек для Python 3 в IDE PyCharm
Язык программирования Python считается достаточно простым. На нем легче и быстрее пишутся программы, по сравнению с компилируемыми языками программирования. Для 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.
Во время установки ставим галочку возле Add Python 3.x to PATH и нажимаем Install Now:
Установка Python и Pip в Ubuntu
В Ubuntu установить Python 3 можно через терминал. Запускаем его и вводим команду установки. Вторая команда выводит версию Python.
Далее устанавливаем Pip и обновляем его. После обновления необходимо перезапустить текущую сессию (или перезагрузить компьютер), иначе возникнет ошибка во время вызова Pip.
Основные команды Pip
Рассмотрим основные команды при работе с Pip в командой строке Windows и в терминале Ubuntu.
Установка VirtualEnv и VirtualEnvWrapper
VirtualEnv используется для создания виртуальных окружений для Python программ. Это необходимо для избежания конфликтов, позволяя установить одну версию библиотеки для одной программы, и другу для второй. Всё удобство использования VirtualEnv постигается на практике.
Установка VirtualEnv и VirtualEnvWrapper в Windows
В командной строке выполняем команды:
Установка VirtualEnv и VirtualEnvWrapper в Ubuntu
Для Ubuntu команда установки будет следующей:
После которой в конец
Работа с виртуальным окружением VirtualEnv
Рассмотрим основные команды при работе с VirtualEnv в командой строке Windows и в терминале Ubuntu.
Команда | Описание |
---|---|
mkvirtualenv env-name | Создаем новое окружение |
workon | Смотрим список окружений |
workon env-name | Меняем окружение |
deactivate | Выходим из окружения |
rmvirtualenv env-name | Удаляем окружение |
Установка PyCharm
PyCharm — интегрированная среда разработки для языка программирования Python. Обладает всеми базовыми вещами необходимых для разработки. В нашем случае огромное значение имеет хорошее взаимодействие PyCharm с VirtualEnv и Pip, чем мы и будем пользоваться.
Установка PyCharm в Windows
Скачиваем установщик PyCharm Community для Windows с официального сайта JetBrains. Если умеете проверять контрольные суммы у скаченных файлов, то не забываем это сделать.
В самой установке ничего особенного нету. По сути только нажимаем на кнопки next, и в завершение на кнопку Install. Единственно, можно убрать версию из имени папки установки, т.к. PyCharm постоянно обновляется и указанная версия в будущем станет не правильной.
Установка PyCharm в Ubuntu
Скачиваем установщик PyCharm Community для Linux с официального сайта JetBrains. Очень хорошей практикой является проверка контрольных сумм, так что если умеете, не ленитесь с проверкой.
Теперь в директории
Далее выполняем команды в терминале:
Производим установку. И очень важно в конце не забыть создать desktop файл для запуска PyCharm. Для этого в Окне приветствия в нижнем правом углу нажимаем на Configure → Create Desktop Entry.
Установка PyCharm в Ubuntu из snap-пакета
PyCharm теперь можно устанавливать из snap-пакета. Если вы используете Ubuntu 16.04 или более позднюю версию, можете установить PyCharm из командной строки.
Использование VirtualEnv и Pip в PyCharm
Поддержка Pip и Virtualenv в PyCharm появилась уже довольно давно. Иногда конечно возникают проблемы, но взаимодействие работает в основном стабильно.
Рассмотрим два варианта работы с виртуальными окружениями:
Первый пример: использование собственного виртуального окружения для проекта
Создадим программу, генерирующую изображение с тремя графиками нормального распределения Гаусса Для этого будут использоваться библиотеки matplotlib и numpy, которые будут установлены в специальное созданное виртуальное окружение для программы.
Запускаем PyCharm и окне приветствия выбираем Create New Project.
В мастере создания проекта, указываем в поле Location путь расположения создаваемого проекта. Имя конечной директории также является именем проекта. В примере директория называется ‘first_program’.
Теперь установим библиотеки, которые будем использовать в программе. С помощью главного меню переходим в настройки File → Settings. Где переходим в Project: project_name → Project Interpreter.
Здесь мы видим таблицу со списком установленных пакетов. В начале установлено только два пакета: pip и setuptools.
Справа от таблицы имеется панель управления с четырьмя кнопками:
Для добавления (установки) библиотеки в окружение нажимаем на плюс. В поле поиска вводим название библиотеки. В данном примере будем устанавливать matplotlib. Дополнительно, через Specify version можно указать версию устанавливаемого пакета и через Options указать параметры. Сейчас для matplotlib нет необходимости в дополнительных параметрах. Для установки нажимаем Install Package.
После установки закрываем окно добавления пакетов в проект и видим, что в окружение проекта добавился пакет matplotlib с его зависимостями. В том, числе был установлен пакет с библиотекой numpy. Выходим из настроек.
Теперь мы можем создать файл с кодом в проекте, например, first.py. Код программы имеет следующий вид:
Далее указываем в поле Name имя конфигурации и в поле Script path расположение Python файла с кодом программы. Остальные параметры не трогаем. В завершение нажимаем на Apply, затем на OK.
Теперь можно выполнить программу и в директории с программой появится файл gauss.png :
Второй пример: использование предварительно созданного виртуального окружения
Данный пример можно использовать во время изучения работы с библиотекой. Например, изучаем PySide2 и нам придется создать множество проектов. Создание для каждого проекта отдельного окружения довольно накладно. Это нужно каждый раз скачивать пакеты, также свободное место на локальных дисках ограничено.
Более практично заранее подготовить окружение с установленными нужными библиотеками. И во время создания проектов использовать это окружение.
В этом примере мы создадим виртуальное окружения PySide2, куда установим данную библиотеку. Затем создадим программу, использующую библиотеку PySide2 из предварительно созданного виртуального окружения. Программа будет показывать метку, отображающую версию установленной библиотеки PySide2.
Далее в созданном окружении устанавливаем пакет с библиотекой PySide2, также как мы устанавливали matplotlib. И выходим из настроек.
Теперь мы можем создавать новый проект использующий библиотеку PySide2. В окне приветствия выбираем Create New Project.
Для проверки работы библиотеки создаем файл second.py со следующий кодом:
Далее создаем конфигурацию запуска программы, также как создавали для первого примера. После чего можно выполнить программу.
Заключение
У меня нет богатого опыта программирования на Python. И я не знаком с другими IDE для Python. Поэтому, возможно, данные IDE также умеют работать с Pip и Virtualenv. Использовать Pip и Virtualenv можно в командой строке или в терминале. Установка библиотеки через Pip может завершиться ошибкой. Есть способы установки библиотек без Pip. Также создавать виртуальные окружения можно не только с помощью Virtualenv.
В общем, я лишь поделился небольшой частью опыта из данной области. Но, если не вдаваться в глубокие дебри, то этого вполне достаточно знать, чтобы писать простые программы на Python с использованием сторонних библиотек.
Использование виртуальных сред venv и virtualenv для создания окружения Python
Виртуальные среды (окружения) используются в Python 3 контроля версионности пакетов. Кроме контроля версий среды используют для использования разных интерпретаторов. Самих пакетов, которые создают виртуальные окружения много. В этой статье речь пойдет про venv, virtualenv и virtualenvwrapper.
Навигация по посту
Для чего нужно виртуальные среды?
При создании скрипта или программы вы часто используете сторонние модули (пакеты). Если в последующем потребуется перенос программы на другой компьютер, то вы можете столкнуться с двумя проблемами:
Использование виртуальных сред избавляет вас от этих проблем. В таком виртуальной среде находится свой интерпретатор, свой pip и все пакеты относятся только к нему. Так же, весь проект, можно перенести как папку на другой компьютер без ошибок.
Кроме этого вы можете запускать разные версии Python в разных виртуальных средах, что сильно упрощает работу.
Установка и создания окружения с virtualenv
Самый популярный пакет, который используется для создания виртуальных сред в Python, это virtualenv. Для его установки на Windows выполните:
Для установки на Linux системах, для Python 3, понадобится выполнить такую команду:
Если вы не будете использовать sudo, то в зависимости от версии ОС у вас появятся разные ошибки. В CentOS установка не выполнится вовсе, а в Ubuntu не будет добавлен путь в переменную окружения:
Далее, вне зависимости от того используете ли вы Linux или Windows, вы можете выполнить команду получения справки:
Я использую Python 3.6, и так я создам окружение в папке projectname/venv:
Способ выше устанавливает окружение относительно текущего пути. Если нужно установить на другом диске или каталоге, то можно использовать абсолютный путь. Так же не обязательно указывать параметр «-p» если вы используете одну версию Python. Вариант как это может быть сделано на Windows:
Само расположение виртуального окружения рекомендуется создавать в одной папке вместе разрабатываемым приложением. Такую структуру будет легче сопровождать. Я обычно придерживаюсь такой структуры:
Активация и выход из окружения
Для того что бы виртуальное окружения начало работать его нужно активировать. В разных ОС это делается по-разному.
В случаях с Linux указываем полный путь до venv/bin/activate:
Для активации в Windows, в папке venv\Scripts есть несколько файлов:
Для активации просто укажите полный путь до файла. Например:
О том что вы находитесь в виртуальном окружении свидетельствуют следующие надписи:
Вы так же можете сравнить количество установленных пакетов внутри виртуального окружения с тем, что установлено вне:
Теперь вы можете устанавливать пакеты, которые будут работать только в этой среде.
Для выхода из окружения, за исключением запуска с помощью CMD, используйте команду:
Для CMD нужно указать путь до файла «venv\Scripts\deactivate.bat».
Управление средами через virtualenvwrapper
Если вы создаете множество виртуальных сред, например для тестирования в разных версиях Python, вы можете использовать virtualenvwrapper. Этот пакет представляет собой надстройку для virtualenv для более удобной работы и устанавливается отдельно.
Благодаря этому пакету мы сможем запускать ваши окружения так:
Для Windows нужно установить следующий пакет:
Для Linux нужно так же использовать sudo:
Настройки для Linux
Следующая команда добавит скрипты в домашний каталог для удобной работы:
При выполнении предыдущей команды у меня появилась ошибка:
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.
Основные команды
Далее мы можем использовать следующие команды (основные):
Так мы создадим виртуальную среду:
Так выйдем из созданной среды:
Если нужно использовать другую версию 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):
На другом компьютере/среде мы можем этот список быстро проверить и установить отсутствующие пакеты следующей командой:
Как активировать virtualenv внутри терминала PyCharm?
Я установил PyCharm, создал свой virtualenv (либо с помощью команды virtual env, либо непосредственно в PyCharm) и активировал эту среду в качестве моего интерпретатора. Все работает просто отлично.
Тем не менее, если я открываю терминал с помощью «Инструменты, Открыть терминал», в командной строке предоставляется не с использованием виртуального env; Я все еще должен использовать source
/envs/someenv/bin/activate в этом терминале, чтобы активировать его.
Есть ли какой-нибудь другой, гораздо более простой способ, чтобы «Инструменты, Открытый терминал» автоматически активировали виртуальную среду?
Редактировать:
Auto virtualenv поддерживается для bash, zsh, fish и Windows cmd. Вы можете настроить параметры оболочки в Настройках (Настройки) | Инструменты | Терминал.
Старый метод:
Использование вашего пути virtualenv в качестве последнего параметра.
Затем установите Настройки оболочки-> Настройки проекта-> Путь к
Для пользователей Windows при использовании PyCharm и виртуальной среды под Windows вы можете использовать параметр/k для cmd.exe для автоматической установки виртуальной среды.
Перейдите в Настройки, Терминал, Оболочка по умолчанию и добавьте /K
У меня нет репутации, чтобы комментировать предыдущий ответ, поэтому размещаю эту исправленную версию. Это действительно экономит много времени.
Обновление:
Примечание: Pycharm теперь напрямую поддерживает виртуальные среды, и, похоже, он мне подходит, поэтому мой обходной путь больше не нужен.
Для пользователей Windows: при использовании PyCharm с виртуальной средой вы можете использовать параметр /K для cmd.exe для автоматической установки виртуальной среды.
«» в Shell path и добавьте (обратите внимание на кавычки). Также добавьте кавычки вокруг cmd.exe, в результате чего:
«cmd.exe» /k «»C:\mypath\my-venv\Scripts\activate.bat»»
Основываясь на ответах Питера и экспериментах, я нашел хорошее «общее решение», которое решает следующее:
Перенесите этот скрипт в каталог bin. Например.
Затем установите путь оболочки PyCharm к:
В PyCharm 4 интегрированы virtualenvs в IDE. При выборе интерпретатора проекта вы можете создать, добавить или выбрать virtualenv. Они добавили «консоль Python», которая запускается в настроенном интерпретаторе проекта.
Спасибо, Крис, твой сценарий работал для некоторых проектов, но не для всех на моей машине. Вот сценарий, который я написал, и я надеюсь, что кто-нибудь найдет его полезным.
Если вам нужно создать новую виртуальную среду:
и другой файл deactivate_env.bat:
каждый раз, открывая окно терминала, просто запустите файл bat, чтобы активировать/деактивировать virtualenv, вы останетесь в пути к исходному коду, не нужно менять путь туда и обратно.
У меня есть решение, которое работает на моем компьютере с Windows 7.
Вот соответствующая часть моего PATH до редактирования:
C:\python27 \;
C:\python27\Lib\сайт-пакеты\пип \;
C:\python27\Scripts;
C:\python27\Lib\сайт-пакеты\Django\Bin;
. и после редактирование PATH (сейчас только 3 строки):
Если ваш Pycharm 2016.1.4v и выше, вы должны использовать «default path» /K «
» Не забывайте цитаты
Решение для WSL (Ubuntu на Windows)
Если вы используете WSL (Ubuntu в Windows), вы также можете открыть bash как терминал в pycharm и активировать linux virtualenv.
В Pycharm Файл> Настройки> Инструменты> Терминал добавьте следующий «Путь к оболочке»:
Проект конкретного virtualenv
БОНУС: автоматически открыть туннель ssh для подключения virtualenv в качестве интерпретатора проекта
Теперь, когда вы открываете свой проект, ваш bash автоматически запускается в вашем virtualenv, открывает ssh-туннель, и pycharm подключает virtualenv в качестве удаленного интерпретатора.
Другой альтернативой является использование virtualenvwrapper для управления виртуальными средами. Похоже, что после активации virtualenvwrapper script pycharm может использовать его, и тогда простая команда workon будет доступна из консоли pycharm и предоставит вам доступные виртуальные среды:
Использование вашего пути virtualenv в качестве последнего параметра.
Затем установите Настройки оболочки-> Настройки проекта-> Путь к
Не знаю почему, но у меня это не работает. PyCharm печатает ошибку.
» Работает, но создает одинаковые virtualenv для каждого проекта, даже если в этом нет необходимости.
Этот метод должен работать с произвольными виртуальными средами для каждого проекта, и он не делает предположений о вашей среде, так как использует созданные вами хуки.
Учитывая, что текущая последняя версия PyCharm (Community 2016.1) не допускает настройки терминала для каждого проекта начинайте со сценария, который вызывает специфическую для проекта ловушку. Это мой
Вы, конечно, можете расширить свои возможности всем, что сочтете полезным в терминальной среде вашего конкретного проекта PyCharm.
Это проверяет, существует ли виртуальная среда, в которой открывается терминал, и, если это так, активирует его (и, конечно, могут использоваться другие относительные пути). Настройки терминала PyCharm можно оставить по умолчанию.