Не удаётся создать виртуальную среду с Python 3.8.10 на Ubuntu 20.04.

Вопрос или проблема

Когда я ввожу команду 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.

Шаги для решения проблемы

  1. Проверка версии Python:
    Убедитесь, что у вас установлена правильная версия Python 3.8.10. Вы можете выполнить команду:

    python3 --version
  2. Устранение конфликтов зависимостей:
    Вам стоит проверить, есть ли у вас "заблокированные" пакеты, которые могут мешать установке, с использованием:

    sudo apt update
    sudo apt upgrade
    sudo apt --fix-broken install

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

  3. Установка нужных пакетов:
    После успешного завершения предыдущих шагов попробуйте снова установить пакет:

    sudo apt install python3.8-venv
  4. Создание виртуального окружения:
    После установки 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. Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь обращаться за помощью.

Оцените материал
Добавить комментарий

Капча загружается...