Distribute/distutils指定Python版本

Distribute/distutils指定Python版本,python,distribution,setuptools,distribute,Python,Distribution,Setuptools,Distribute,有点像……的后续行动:) 我的项目是Python 3-only,我的问题基本上是如何告诉distutils/distribute/where这个包是Python 3-only?不确定是否有一些特殊的设置,但在setup.py的开头这可能会有所帮助: import sys if sys.version_info.major < 3: print("I'm only for 3, please upgrade") sys.exit(1) 导入系统 如果sys.version_

有点像……的后续行动:)


我的项目是Python 3-only,我的问题基本上是如何告诉distutils/distribute/where这个包是Python 3-only?

不确定是否有一些特殊的设置,但在setup.py的开头这可能会有所帮助:

import sys
if sys.version_info.major < 3:
    print("I'm only for 3, please upgrade")
    sys.exit(1)
导入系统 如果sys.version_info.major<3: 打印(“我只为3人,请升级”) 系统出口(1)
您是否试图使
pip
2.x无法看到您的应用程序,或者拒绝安装,或者运行
python2.7 setup.py install
会出现错误?对于后者,bereal的解决方案是完美的。我真的不在乎,只要它没有以某种方式安装;)那我就接受贝雷尔的回答。如果您以后将包放在PyPI上,并决定以不同的方式处理
pip
2,您可以随时在以后询问该信息;如果你不打算使用它,现在就不需要学习所有这些。实际上我打算在PyPI上发布它…哦,你还想使用
编程语言::Python::3
而不是默认的
编程语言::Python
分类器。总之,所有这一切实际上只是为了防止
easy\u install
pip
,或者
distribute2
项目中的任何未来工具在出现错误之前必须下载包。+1。检查版本的惯用方法是
sys.version\u info<(3,)
(我认为这主要是为了在您想要放弃对3.0的支持时更容易地更改为
(3,1)
),但我不认为这真的很混乱或可读性较差。FWIW我认为将其写成
.major<3
,更惯用,因为这会立即赋予数字意义。在本例中,这并不重要,因为无论如何,这是非常明显的;)