簡體   English   中英

Requirements.txt中的python版本與setup.py中的安裝問題有關

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM