我正在研究AVRO-2240的解决方案,并认为我应该能够使用environment markers作为更好的方法来表明软件包是为Python 3设计的,而不是为Python 2设计的。 / p>
通常以特定的依存关系来证明环境标记,如
install_requires = ['argparse;python_version<"2.7"']
但是,这是指依赖项 argparse ,它不一定总是需要安装。在这种情况下,我需要澄清一下,软件包 itself 不能安装在python 2环境中。我尝试过
install_requires = ['python_version>="3"']
并分别在python2和python3 virtualenvs中运行./setup.py develop
。该安装了python-version 0.0.2,没有提供任何有关环境兼容性的指示。
我还添加了一个trove分类器:
'Programming Language :: Python :: 3 :: Only'
但这没什么不同-我认为这些仅用于对pypi本身的程序包进行分类。
有什么方法可以使python打包工具意识到该代码无法在不使setup.py
本身与python 2不兼容的情况下对python <3起作用,这对用户和开发人员很有用?