Python3 m venv env не работает

Использование виртуальных сред venv и virtualenv для создания окружения Python

Виртуальные среды (окружения) используются в Python 3 контроля версионности пакетов. Кроме контроля версий среды используют для использования разных интерпретаторов. Самих пакетов, которые создают виртуальные окружения много. В этой статье речь пойдет про venv, virtualenv и virtualenvwrapper.

Навигация по посту

Для чего нужно виртуальные среды?

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

  1. Нужные пакеты отсутствуют на новом компьютере и придется проверять каждый файл программы для их поиска. Либо получить список установленных пакетов через «pip list» на старом компьютере, который выведет множество лишних модулей.
  2. Даже если количество пакетов или файлов программ маленькое, или вы его создали отдельно, то вы все равно можете столкнуться с проблемами в версиях. Пакеты могли быть обновлены, а методы и классы изменены.

Использование виртуальных сред избавляет вас от этих проблем. В таком виртуальной среде находится свой интерпретатор, свой 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:

Читайте также:  Как настроить время buro

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

Активация и выход из окружения

Для того что бы виртуальное окружения начало работать его нужно активировать. В разных ОС это делается по-разному.

В случаях с 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 вы можете создать или изменить проект привязав его к определенному интерпретатору.

Читайте также:  Автоповтор нажатия правой кнопки мыши дота 2 как настроить

Виртуальную среду можно создать при создании нового проекта. Для этого нужно зайти по следующему пути:

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

Для настройки окружения для старых проектов нужно зайти в настройки:

Во вкладе «Python Interpreter» будет выбор из существующих интерпретаторов (1). Либо можно создать новый (2):

Создание списка установленных пакетов Requirements.txt

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

Так мы получим список пакетов, установленных в виртуальном окружении, в формате читаемом pip:

Следующим способом мы экспортируем этот список в файл Requirements.txt (способ подходит для Bash/CMD/Powershell):

На другом компьютере/среде мы можем этот список быстро проверить и установить отсутствующие пакеты следующей командой:

Источник

Python venv не создает виртуальную среду

Я пытаюсь создать виртуальную среду для моего текущего проекта Django, используя

Однако команда не создает никаких каталогов с папками bin / include / lib. Что именно мне здесь не хватает?

6 ответов

У меня была такая же проблема. Я смог заставить работать venv, удалив Python и переустановив его (я использую дистрибутив Anaconda). Команда py -m venv test по-прежнему не имеет выходных данных после запуска, но теперь она создает папку для меня, и я могу активировать тестовую среду.

Почему вы должны писать python3 -m venv env , когда ваша база установлена как python3.6?

Просто сделайте pip install virtualenv , это должно установить пакет virtualenv, если он еще не установлен, тогда

virtualenv envname это запустится и должно дать вам следующее сообщение: я создал env с именем testenv :

Если вы получите это, это будет успех, иначе сообщите нам, что вы получаете, после этого вы должны cd в папку Scripts и затем запустить activate

Иногда среда пути системы не знает о virtualenv.exe

Решение:
установить virtualenv

Запустите команду в каталоге, где вы хотите виртуальную среду:

Установите и создайте через:

Затем активируйте среду, перейдя в папку ./ your_virtualenv_name / Scripts и запустите:

Pip install virtualenvwrapper-win попробуйте установить и повторить

Для тех, кто сталкивается с этой проблемой сейчас, просто измените команду на запуск python вместо python3

Источник

venv не создает скрипт активации python3

при попытке создать virtulenv с помощью venv с python 3 на ubuntu он не создает скрипт активации. Он conitunally выходит с ошибкой 1.

следующие документы и другие сообщения, такие как https://stackoverflow.com/a/19848770

Я попытался создать его 2 различными способами.

как я могу заставить его полностью создать venv?

Если я сделаю это, как показано ниже, без успеха не уверен в чем проблема?

4 ответов

похоже, вы используете Ubuntu 14.04 . Он был отправлен с сломанные pyvenv . Есть простой способ создать venv, используя Python 3

1. Создать venv без pip

2. Получить pip в вашем env

Anaconda involucred.

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

Conda управляет python как пакетом, так что обновление conda python возможно, в отличие от pip, который управляет только пакетами Python. Conda доступна в Anaconda и Miniconda (простая в установке загрузка только с Python и стадион conda).

Итак, эта команда поможет:

Читайте также:  Kia не работает с брелка

Спасибо за внимание, хорошего дня!

работает для меня, тогда как:

это сработало для меня:

Как только я набрал это в терминале, был создан venv» test4″. И сценарий «активировать» также был создан в каталоге «bin».

любому, кто использует python3, имея проблемы с этим, просто замените имя каталога, который вы хотите создать для «test4» (или переименуйте его позже).

Источник

не активируется venv

Установил venv, но он не хочет активироваться. Пробовал добавить ещё окружения, но результат один и тот же.

3 ответа 3

Для начала, удалите все папки с виртуальными окружениями в вашем проекте, чтобы ничего не напутать. Затем в корневой директории проекта:

Попробуйте, находясь в папке VENV, выполнить

Пользуйтесь PyCharm. Там с этим заморочек нет.

Я тоже столкнулся с такой проблемой. Оказалось, что в Windows 10 сейчас вместо activate.bat теперь работает activate.ps1 «instead of activate.bat which doesn’t work in PowerShell any more.»

Всё ещё ищете ответ? Посмотрите другие вопросы с метками python windows virtualenv или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.10.15.40479

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

python3.8-venv not working with python3.8 -m venv env

I want to create a venv having python3.8 as python3 On Ubuntu 18.04 I did:

My application depends on python3.8. What am I missing here?

3 Answers 3

Resolved, what I did? :

Dont know how but installing both the venv packages python3.8-venv python3-venv resolved it from me. Now when I do:

first: sudo pip3 install virtualenv then cd to the directory where you want your virtual enviroment to be: virtualenv «name of env» for ex: sudo virtualenv myProject-env then to activate: sudo source myProject-env/bin/activate to make sure that it is work: sudo which python

Referring this document from digitalOcean i got the same error but here in this linein this image change python3.6 to python3.8 then it will work fine. change python3.6 -m venv my_env to python3.8 -m venv my_env

Not the answer you’re looking for? Browse other questions tagged python python-3.x python-venv or ask your own question.

Linked

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.10.15.40479

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Источник

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