如果您在一个同时使用两者的项目中工作,setup.py
并且Pipfile
您经常会在:Pipfile/[packages]
和中找到相同的值setup.py/install_requires
。
有谁知道我怎么知道Pipfile
使用setup.py/install_requires
for 的值[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...
)
重要提示:包括Pipfile.lock
在内MANIFEST.in
:
include Pipfile.lock