apt install virtualenv vs apt install python3-virtualenv

В этом вопросе много связанных вопросов, но ни один не отвечает на то, что я хочу знать:

Я обычно так работаю:

  1. установить python 3.5+
  2. sudo apt install virtualenv
  3. virtualenv -p /usr/bin/python3.* bla
  4. . бла / бен / активировать
  5. pip установить и запустить python

Кажется, это работает отлично, и я сделал это также с python2.7. Есть ли разница между использованием apt install virtualenv и apt install python3-virtualenv?


person CIsForCookies    schedule 01.01.2020    source источник


Ответы (3)


Пакет virtualenv описан здесь: https://packages.debian.org/buster/virtualenv или https://packages.ubuntu.com/bionic/virtualenv. Когда вы смотрите на файлы, которые он содержит, вы видите, что он состоит лишь из небольшой части документации.

Но у virtualenv есть пакеты зависимостей python3 и python3-virtualenv. Поэтому, если вы установите virtualenv, эти пакеты также будут установлены.

Python 2 больше не поддерживается апстримом, даже исправлениями безопасности. Так что вам просто не стоит его использовать.

person Xypron    schedule 01.01.2020

apt install virtualenv также должен установить python3-virtualenv. Я почти уверен в этом, но я думаю, что это зависит от того, что появляется, когда вы вводите python на своем терминале, он должен зависеть от версии.

person Glitchfix    schedule 01.01.2020

После некоторого поиска я могу сказать, что пакет virtulenv является наложением на python-virtualenv (создатель виртуального окружения Python 2) и python3-virtualenv (создатель виртуального окружения Python 3). Это необходимо для работы команды virtualenv (той, которую вы вводите в терминале). Теперь эта команда может внутренне использовать любую из двух версий, предоставленных python.

Следовательно, если вы сделаете sudo apt install virtualenv, он автоматически установит python3-virtualenv вместе с ним. Однако вы также можете установить virtualenv с python2-virtualenv.

Итак, разница в том, что пакет virtualenv предоставляет параметры командной строки (вызываемые через терминал), в то время как python3-virtualenv (для python 3) выполняет фактическую работу по созданию среды и заменяется на python-virtualenv (для python 2).

person E.N.D    schedule 01.01.2020