如果您在使用setup.py
和Pipfile
的项目上工作,您通常会在以下方面找到相同的值: Pipfile/[packages]
和 setup.py/install_requires
。
有人知道我如何告诉Pipfile
使用setup.py/install_requires
的值对[packages]
?
在您的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... )
重要说明
:在MANIFEST.in
中包括Pipfile.lock
,例如:
include Pipfile.lock