Вопрос или проблема
Когда я ввожу команду sudo python3 -m venv venv001, я получаю эту ошибку:
Виртуальная среда не была успешно создана, потому что ensurepip недоступен. На системах Debian/Ubuntu необходимо установить пакет python3-venv с помощью следующей команды.
apt install python3.8-venv
Вам, возможно, потребуется использовать sudo с этой командой. После установки пакета python3-venv воссоздайте свою виртуальную среду.
Неудавшаяся команда: ['/home/mike/venv001/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
Итак, я пробую sudo apt install python3.8-env и получаю сообщение об ошибке:
Чтение списков пакетов... Готово
Формирование дерева зависимостей
Чтение информации о состоянии... Готово
Некоторые пакеты не могут быть установлены. Это может означать, что вы
запросили невозможную ситуацию или если вы используете нестабильную
распределение, что некоторые необходимые пакеты еще не были созданы
или были перемещены из Incoming.
Следующая информация может помочь в разрешении ситуации:
Следующие пакеты имеют неудовлетворенные зависимости:
python3.8-venv : Зависит: python3.8 (= 3.8.2-1ubuntu1), но 3.8.10-0ubuntu1~20.04 должен быть установлен
E: Невозможно исправить проблемы, вы удерживаете поврежденные пакеты.
Я пробовал несколько команд sudo apt install -f или –fix-, но все равно не могу исправить эти ошибки.
Вы можете установить виртуальную среду python3 с помощью следующей команды
sudo apt install python3-virtualenv
Позже вы можете создать виртуальную среду с помощью следующей команды
virtualenv apienv
Лучший способ создать виртуальную среду это либо
PIP
pip3 является официальным установщиком пакетов
для python3. Он всегда устанавливается вместе с интерпретатором python. Установите virtualenv(python2)
и venv(python3)
пакеты, используя pip3, а затем с помощью venv
создайте свою виртуальную среду в предпочитаемой директории.
pip3 install venv python3 -m venv /path/to/new/virtual/environment
Вы можете ознакомиться с официальной документацией для получения дополнительной информации.
CONDA
conda предоставляет очень простой метод для создания сред и установки пакетов внутри них. Вы также можете устанавливать пакеты, написанные на других языках, таких как R. conda создает пустую среду без интерпретатора python, если необходимо.
В Windows, откройте Anaconda PowerShell Prompt и перейдите в папку, где вы хотите использовать среду. Затем выполните следующие команды.
conda create -n test_env python==3.6.0
Здесь,
test_env
это имя виртуальной среды
python==3.6.0
это пакет, установленный conda в новосозданной среде. Если версия не указана, то conda устанавливает последнюю доступную версию.
Используйте следующую команду для активации вашей среды
conda activate test_env
Используйте следующую команду для деактивации вашей среды
conda deactivate
В UNIX системах вы можете получить доступ к conda через интерфейс командной строки напрямую.
Команды остаются теми же для создания виртуальных сред.
Вы можете дополнительно изучить это здесь: Управление средами с помощью conda
apt list | grep venv
даст список доступных пакетов Python, которые реализуют venv
; есть python3-venv
, а затем несколько версий-специфических вариантов (python3.8-venv
, python3.10-venv
и т.д.). Один или несколько из них могут отображаться как “установленные”.
Где я нахожусь (застрял) на Ubuntu 18.04 (Python 3.6.9), на свежей системе, я не могу выполнить python -m venv ...
без ошибки. Я сначала не захватил вывод apt list
, но я выполнил sudo apt install python3-venv
и затем смог создать venvs. После этого apt list
показывает python3-venv
и python3.6-venv
установленными.
Для меня python импортировал пакет queue
из локального каталога вместо системного.
File "/tmp/tmphvbek7a8/pip-20.3.4-py2.py3-none-any.whl/pip/_internal/utils/logging.py", line 9, in <module>
File "/usr/lib/python3.9/logging/handlers.py", line 28, in <module>
import queue
File "${local_folder}/queue.py", line 3, in <module>
from kafka import KafkaProducer
ModuleNotFoundError: No module named 'kafka'
Смена директории на родительскую и выполнение python3 -mvenv path_to_previous_diurectory/venv
сработало.
Я запустил “Неудавшуюся команду”, упомянутую в OP, чтобы проверить это.
Ответ или решение
Решение проблемы с созданием виртуального окружения Python 3.8.10 на Ubuntu 20.04
На вашем Ubuntu 20.04 возникла проблема с созданием виртуального окружения для Python 3.8.10. При выполнении команды sudo python3 -m venv venv001
вы получили сообщение об ошибке, указывающее на то, что ensurepip
недоступен. Давайте разберем эту проблему и найдем возможное решение.
Анализ возникшей проблемы
Ошибка, которую вы получили, указывает на то, что не установлен пакет, отвечающий за создание виртуальных окружений. В вашем случае это пакет python3.8-venv
. Сообщение также указывает на необходимость установки этого пакета с помощью команды:
sudo apt install python3.8-venv
Однако при попытке установки вы столкнулись с другой ошибкой, касающейся неудовлетворённых зависимостей:
E: Unable to correct problems, you have held broken packages.
Это может быть результатом конфликта между версиями установленного Python и пакетами, которые вы пытаетесь установить. Вы получили сообщение о том, что python3.8-venv
требует зависимости python3.8 (= 3.8.2-1ubuntu1)
, но у вас установлена версия 3.8.10-0ubuntu1~20.04
.
Шаги для решения проблемы
-
Проверка версии Python:
Убедитесь, что у вас установлена правильная версия Python 3.8.10. Вы можете выполнить команду:python3 --version
-
Устранение конфликтов зависимостей:
Вам стоит проверить, есть ли у вас "заблокированные" пакеты, которые могут мешать установке, с использованием:sudo apt update sudo apt upgrade sudo apt --fix-broken install
Это команды помогут устранить возможные проблемы с зависимостями.
-
Установка нужных пакетов:
После успешного завершения предыдущих шагов попробуйте снова установить пакет:sudo apt install python3.8-venv
-
Создание виртуального окружения:
После установкиpython3.8-venv
повторите попытку создания виртуального окружения:python3 -m venv venv001
Альтернативные способы создания виртуального окружения
Если вышеперечисленные шаги не решат проблему, вы можете рассмотреть альтернативные методы создания виртуальных окружений:
-
Использование
virtualenv
:
Убедитесь, что у вас установленvirtualenv
, и создайте окружение следующим образом:sudo apt install python3-virtualenv virtualenv venv001
-
Использование
conda
:
Если вы уже используете Anaconda или Miniconda, вы можете создать виртуальное окружение с помощью команды:conda create -n venv001 python=3.8 conda activate venv001
Заключение
Создание виртуального окружения — это важный шаг для управления зависимостями Python в проектах. Ошибки, связанные с пакетами и зависимостями, могут возникнуть, но их можно успешно преодолеть с помощью внимательной отладки и проверки системы. Следуя приведённым выше шагам, вы сможете создать виртуальное окружение на Ubuntu 20.04. Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь обращаться за помощью.