Как синхронизировать значения в setup.py / install_requires с Pipfile / packages
Если вы работаете над проектом, который использует оба setup.py
а также Pipfile
Вы часто находите одинаковые значения в: Pipfile/[packages]
а также setup.py/install_requires
,
Кто-нибудь знает, как я могу сказать Pipfile
использовать значения из setup.py/install_requires
за [packages]
?
1 ответ
В вашем setup.py
:
Определите функцию для чтения раздела:
def locked_requirements(section): """Look through the 'Pipfile.lock' to fetch requirements by section.""" with open('Pipfile.lock') as pip_file: pipfile_json = json.load(pip_file) if section not in pipfile_json: print("{0} section missing from Pipfile.lock".format(section)) return [] return [package + detail.get('version', "") for package, detail in pipfile_json[section].items()]
В пределах
setup
функция возвращает список изdefault
раздел:setup( # ...snip... install_requires=locked_requirements('default'), # ...snip... )
ВАЖНОЕ ПРИМЕЧАНИЕ: включите Pipfile.lock
в пределах MANIFEST.in
лайк:
include Pipfile.lock