我有几个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 Superpowers(python3wos项目)显示了对流行python包的python 3支持。
据我了解,python3wos
定期解析Python Package Index
html页面和checks Programming Language :: Python :: 3
文本,以定义包是否支持python 3rd分支。没有什么比在PyPI上抓取html更简单了吗?
答案 0 :(得分:18)
在@thefourtheye和py3readiness.org来源的帮助下,我找到了我所需要的。
Brett Cannon的确定哪些项目阻止您移植到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
文件。