Как установить 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 и т. д.?
Чтобы ответить на ваши вопросы:
Первая установка python: https://docs.python-guide.org/starting/installation/
Затем установите pip: https://pip.pypa.io/en/stable/installing/
Используйте pip для получения pipenv: https://pipenv.readthedocs.io/en/latest/
Или используйте pip для получения virtualenv: https://docs.python-guide.org/dev/virtualenvs/