检查python 3支持的要求

时间:2014-04-09 01:57:41

标签: python python-2.7 python-3.x porting requirements.txt

我有几个python项目,pip requirements files中列出了不同的依赖项集。我已经开始考虑将代码移植到python 3,但我需要知道我的依赖项是否已经存在。

是否可以检查requirements.txt文件中哪些包支持python 3,哪些不支持?

示例requirements.txt内容:

mysql-python==1.2.5
lxml==3.3.4
Fabric==1.8.0

从此列表中,只有lxml支持python 3。


只是旁注。

有一个Python 3 Wall of Superpowerspython3wos项目)显示了对流行python包的python 3支持。

据我了解,python3wos定期解析Python Package Index html页面和checks Programming Language :: Python :: 3文本,以定义包是否支持python 3rd分支。没有什么比在PyPI上抓取html更简单了吗?

1 个答案:

答案 0 :(得分:18)

在@thefourtheye和py3readiness.org来源的帮助下,我找到了我所需要的。

Brett Cannon的

caniusepython3模块:

  

确定哪些项目阻止您移植到Python 3

     

此脚本接受一组依赖项,然后确定哪些依赖项   他们正在阻止你从移植到Python 3。

示例(针对问题中的requirements.txt):

$ caniusepython3 -r requirements.txt 
Finding and checking dependencies ...

You need 2 projects to transition to Python 3.
Of those 2 projects, 2 have no direct dependencies blocking their transition:

  fabric
  mysql-python

我应该注意它仍然使用与python3wos相同的方法 - 在包页面上查找Programming Language :: Python :: 3x分类器。

还有一个web-interface,您可以在其中键入依赖项或删除requirements.txt文件。