在setup.py中为不同版本的python指定lz4包的不同版本
我正在管理一个开源库,它必须在Python27-3和36-1中都可用。lz4最近发布了3.0.2版,只有python>=3.5支持它。目前,我没有在我的在setup.py中为不同版本的python指定lz4包的不同版本,python,setuptools,setup.py,Python,Setuptools,Setup.py,我正在管理一个开源库,它必须在Python27-3和36-1中都可用。lz4最近发布了3.0.2版,只有python>=3.5支持它。目前,我没有在我的setup.py中列出lz4的依赖项,因此它必须是我的一个依赖项的子依赖项 这样做的唯一方法是强制用户(尝试获得27-3版本,应该不多)尝试安装my egg,一旦它无法编译lz4,他们可以手动运行pip install lz4==3.0.0,然后再次尝试安装my Package 我知道requirements.txt中有类似的内容: lz4<
setup.py
中列出lz4的依赖项,因此它必须是我的一个依赖项的子依赖项
这样做的唯一方法是强制用户(尝试获得27-3版本,应该不多)尝试安装my egg,一旦它无法编译lz4,他们可以手动运行pip install lz4==3.0.0
,然后再次尝试安装my Package
我知道requirements.txt中有类似的内容:
lz4<=3.0.0; python_version < '3.0'
lz4; python_version > '3.0'
lz4'3.0'
但是我尝试将所有安装说明本地化到我的
setup.py
文件中。依赖项可以在setup.py
中声明,而不仅仅是在requirements.txt
中声明。在setup.py
中使用:
设置(
…
安装\u需要=[
“lz4'3.0'”,
]
…
)
一些真实世界的例子:,。这解决了我的问题,尽管看起来我需要将其限制在IMO依赖项上,比如
lz4>2.0,
setup(
…
install_requires = [
"lz4<=3.0.0; python_version < '3.0'",
"lz4; python_version > '3.0'",
]
…
)