Файл Python 'requirements.txt' в пакете

СИТУАЦИЯ:

Я создал пакет python, в котором использую следующие библиотеки:

  1. matplotlib
  2. регулярное выражение
  3. статистика
  4. os
  5. модульный тест
  6. покрытие

моя проблема в том, что когда я делаю pip freeze, результат возвращает только значения версий для

  1. matplotlib == 3.2.1
  2. регулярное выражение == 2020.11.13
  3. статистика == 1.0.3.5
  4. покрытие == 5.3.1

Я читал некоторые сайты, где говорится, что это потому, что, например, os и unittest уже установлены вместе с Python3.X.

ВОПРОС:

  1. Должен ли я включать "os", "unittest" в "requirements.txt"?
  2. Если да, то какую версию мне следует написать?

person idriskameni    schedule 10.01.2021    source источник
comment
Источник, который вы читали, правильный. Ос, unittest и т. Д. Уже установлены, поэтому вам не нужно включать их в reqs.txt.   -  person Leemosh    schedule 10.01.2021
comment
os и unittest находятся в стандартной библиотеке. Вы не устанавливали их через pip, поэтому они не должны быть в файле требований.   -  person jonrsharpe    schedule 10.01.2021


Ответы (3)


Вы не должны включать os и unittest в requirements.txt.

Пока вы читаете, я подтверждаю, что операционная система и unittest включены в Python 3.X.

Версия os и unittest зависит от вашей версии Python 3.X.

person Marte Valerio Falcone    schedule 10.01.2021

Источник был правильным, вы не должны включать ОС и т. Д. В свой requirements.txt. Вот немного другая проблема с pip freeze но - когда вы не используете разные среды и имеете все библиотеки в одной среде, ваш pip freeze предоставит вам все библиотеки, которые у вас есть внутри, и это совершенно бесполезно.

Я бы рекомендовал использовать pipreqs библиотеку для получения всех необходимых библиотек, которые вы хотите добавить в свой requirements.txt для своего скрипта.

pip install pipreqs

pipreqs /path/to/your_project
person Leemosh    schedule 10.01.2021
comment
Примечание: pipreqs не поддерживает Python 3.6+ - person costaparas; 10.01.2021

Вам не нужны os и unittest, потому что они включены в Python 3+.

person axquacode    schedule 10.01.2021