如果您处理同时使用setup.py
和Pipfile
的项目,则通常会在Pipfile/[packages]
和setup.py/install_requires
中找到相同的值。
有谁知道我如何告诉Pipfile
使用setup.py/install_requires
[packages]
的值?
答案 0 :(得分:0)
在您的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