【发布时间】:2018-06-19 15:05:23
【问题描述】:
我有一个 requirements.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'"]
基本上不能用,我可以手动更改,但我想知道是否有任何通用的方法来做这些事情
【问题讨论】:
-
嗯,scapy==2.4.0 与 python3 一起工作,我不明白为它设置开关的意义
-
为什么要在
setup.py中手动处理requirements.txt?这是使用requirements.txt的一种不同寻常的方式。 The usual way 是pip install -r requirements.txt,目前尚不清楚使用requirements.txt的任何常见原因是否适用于此。 -
@Cukic0d 我不确定 scapy 的安装,但还有另一个 lib pydns 不适用于 python3
-
@user2357112
pip install -r requirements.txt与终端一起使用,但我想将数据添加到 setup.py 文件中,以便用户可以运行python setup.py install并完成它。事实上,我可以使用 os.system 运行 pip 命令,但我认为这不是最好的方法。
标签: python python-3.x python-2.x setup.py requirements.txt