Как установить python3.7 и создать virtualenv с помощью pip в Ubuntu 18.04?

Я пытаюсь установить стандартную virtualenv с python 3.7 на Ubuntu 18.04, с pip (или каким-то образом установить пакеты в virtualenv). Стандартный способ установки python3.7 выглядит следующим образом: % sudo apt install python3.7 python3.7-venv % python3.7 -m venv py37-venv но вторая команда терпит неудачу, говоря:

Виртуальная среда не была успешно создана, так как surepip недоступен. В системах Debian/Ubuntu вам необходимо установить пакет python3-venv с помощью следующей команды.

apt-get install python3-venv

Возможно, вам придется использовать sudo с этой командой. После установки пакета python3-venv воссоздайте свою виртуальную среду.

Ошибка команды: ['/py37-venv/bin/python3.7', '-Im', 'surepip', '--upgrade', '--default-pip']

Это правда; с этим питоном не устанавливается ни обеспечение, ни пункт. И я сделал установку python3.7-venv уже (python3-venv для python3.6 в Debian/Ubuntu). Я полагаю, что в сообществе Python было некоторое обсуждение этого вопроса из-за нескольких версий Python и / или необходимости root-доступа, а также альтернативных способов установки модулей Python через apt или похожие.

Создание виртуалена без пипа (--without-pip) успешно, но тогда нет никакого способа установить пакеты в новом virtualenv, который, кажется, в значительной степени побеждает цель.

Итак, каков общепринятый способ "наилучшей практики" для установки и использования python3.7 18.04 с virtualenv?

2 ответа

Я не знаю, является ли это наилучшей практикой или нет, но если я также установлю python3-venv, то все будет работать (это проверено на свежем стандартном образе докера Debian Buster):

% sudo apt install python3.7 python3-venv python3.7-venv % python3.7 -m venv py37-venv % . py37-venv/bin/activate (py37-venv) %

Обратите внимание, что он также устанавливает все python3.6 без необходимости, поэтому я не могу точно сказать, что мне это нравится, но, по крайней мере, он работает и не требует запуска неподписанного скрипта get-pip.py делает.

ИМХО, вы должны рассмотреть возможность использования pipenv скорее, чем virtualenv,

Это хорошее объяснение различий между вариантами и почему pipenv может быть хорошей альтернативой: в чем разница между venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenv и т. д.?

Чтобы ответить на ваши вопросы:

  1. Первая установка python: https://docs.python-guide.org/starting/installation/

  2. Затем установите pip: https://pip.pypa.io/en/stable/installing/

  3. Используйте pip для получения pipenv: https://pipenv.readthedocs.io/en/latest/

  4. Или используйте pip для получения virtualenv: https://docs.python-guide.org/dev/virtualenvs/

sudo apt install python3-venv
python3 -m venv env
Другие вопросы по тегам