[英]pip-compile for setup.py's install_requires instead of requirements.txt
[英]python version in requirements.txt issues with install requires in setup.py
我有一個require.txt文件,其中包含如下數據
py3DNS==3.1.0; python_version > '3'
scapy-python3==0.23; python_version > '3'
pyDNS==2.3.6; python_version < '3'
scapy==2.4.0; python_version < '3'
用於在安裝庫時指定python版本
在setup.py中,我用來從Requirements.txt文件加載需求
requirements = open("requirements.txt").read().rsplit()
setup(
install_requires=requirements,
...)
並得到了
requirements = ['py3DNS==3.1.0;', 'python_version', '>', "'3'", 'scapy-python3==0.23;', 'python_version', '>', "'3'", 'pyDNS==2.3.6;', 'python_version', '<', "'3'", 'scapy==2.4.0;', 'python_version', '<', "'3'"]
基本上無法使用,我可以手動進行更改,但我想知道是否有任何通用方法可以完成此操作
嘗試分割成這樣的行:
requirements = open("requirements.txt").read().split('\n')
產生
requirements = ["py3DNS==3.1.0; python_version > '3'",
"scapy-python3==0.23; python_version > '3'",
"pyDNS==2.3.6; python_version < '3'",
"scapy==2.4.0; python_version < '3'",
'']
您可以選擇執行以下操作以獲取軟件包和版本:
requirements = list(map(lambda x: x.split(';')[0], requirements)
要得到
['py3DNS==3.1.0', 'scapy-python3==0.23', 'pyDNS==2.3.6', 'scapy==2.4.0', '']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.