我在python 2代码中有一个大型ML项目,我刚开始使用PyCharm作为IDE。我目前正在使用WinPython 3.4,我最好喜欢在python 3中做所有事情,而不是继续使用遗产2.当我从git克隆项目时,pycharm中的弹出窗口出现了类似的内容。将代码从2转换为3,但我并没有真正考虑它并退出它。我该如何转换它?
答案 0 :(得分:44)
我在 Pycharm IDE中找到了一种方法,可以使用2to3工具将文件从v2转换为v3。
我在windows环境中应用了pycharm社区版v 2016.2.3。
输入命令(转换myfile.py):
2to3 myfile.py -w
该工具修改了文件的代码,IDE会反映出更改。
要修改文件夹中的所有文件,请键入命令
2to3 . -w
选项-w实际写入更改。 有关详细信息,请写:
2to3 -h
答案 1 :(得分:3)
转到命令行中存在python2script.py的文件夹,
然后执行命令:
python C:/python/Tools/scripts/2to3.py -w python2script.py
你可以看到你的python2scipt.py已经更新。
答案 2 :(得分:1)
python 2.X.X转python 3.X.X的两种方法
我开发了一个 Web 应用程序来将 python 2.x.x 代码转换为 python 3.x.x。 这是Automatic Python 2 to 3 converter。
注意:这个网络应用是免费的,并且使用这个 2to3
python 库。
安装 2to3 库
pip install 2to3
转换 myfile.py
2to3 myfile.py
这表示创建一个包含 Python 3 代码的新文件。
如果你想覆盖 myfile.py 使用 -w 参数,如 2to3 myfile.py -w。阅读文档了解更多参数。
答案 3 :(得分:0)
Python中包含script,通常位于[Python Root]/Tools/Scripts/2to3.py
。您可以在python文件(或python文件的目录)上运行该脚本,它将处理大量的转换,至少对于标准库中的更改。
如果您的项目使用其他第三方库,则会变得更复杂一些。对于在2到3过渡期间更改的API,它可能是API,而2to3.py
脚本将不知道这些api更改。最好的办法是运行转换脚本,然后手动进行所需的任何其他更改。
答案 4 :(得分:0)
在此之前我会首先保存Python 2文件的备份副本。
然后,您可以尝试使用“2to3”自动Python 2到3代码转换工具转换代码,该工具通过标准库内置到Python中。 有关使用的详细信息,请访问: https://docs.python.org/2/library/2to3.html#
您还可以选择两种工具来自动移植代码:现代化和未来化。在下面查看它们。
现代化 - > https://python-modernize.readthedocs.io/en/latest/
Futurize - > http://python-future.org/automatic_conversion.html
就Pycharm而言,我还没有看到/不知道IDE中将代码从Python 2转换为Python 3的任何专用工具。我会坚持使用上面的3个工具。
祝你好运!答案 5 :(得分:0)
为了将python脚本从版本2转换为版本-3,您只需使用2to3实用程序。
在linux终端上 -
$ 2to3 my_file.py # shows output only on terminal
或
$ 2to3 -w my_file.py # overwrites the file with python-3 code
其中my_file.py是您要转换的文件。
答案 6 :(得分:0)
您可以使用这个免费的在线工具快速转换几个文件