在PyCharm中将python 2代码转换为3

在PyCharm中将python 2代码转换为3,python,git,python-2.7,python-3.x,pycharm,Python,Git,Python 2.7,Python 3.x,Pycharm,我有一个python 2代码的大型ML项目,我刚刚开始使用PyCharm作为IDE。我目前使用的是WinPython3.4,我更愿意使用Python3来完成所有工作,而不是继续使用legacy 2。当我从git克隆项目时,pycharm中出现了一个弹出窗口,将代码从2转换为3,但我并没有真正考虑它并退出了它。我如何转换它 Python附带了一个文件,通常位于[Python Root]/Tools/Scripts/2to3.py。您可以在python文件(或python文件目录)上运行该脚本,它将

我有一个python 2代码的大型ML项目,我刚刚开始使用PyCharm作为IDE。我目前使用的是WinPython3.4,我更愿意使用Python3来完成所有工作,而不是继续使用legacy 2。当我从git克隆项目时,pycharm中出现了一个弹出窗口,将代码从2转换为3,但我并没有真正考虑它并退出了它。我如何转换它

Python附带了一个文件,通常位于
[Python Root]/Tools/Scripts/2to3.py
。您可以在python文件(或python文件目录)上运行该脚本,它将处理大量转换,至少对于标准库中的更改是如此


如果您的项目使用其他第三方库,它会变得更复杂一些。API可能用于在2到3转换期间更改的API,而
2to3.py
脚本将不知道这些API更改。最好的办法是运行转换脚本,然后手动进行所需的任何其他更改。

在进行任何操作之前,我将首先保存Python 2文件的备份副本

然后,您可以尝试使用“2to3”自动Python 2到3代码转换工具转换代码,该工具通过标准库内置到Python中。 有关使用的详细信息,请参见:

您还可以选择两种工具来自动移植代码:Modernize和Futurize。在下面查看它们

现代化-->

未来主义-->

就Pycharm而言,我没有看到/不知道IDE中有任何将代码从Python2转换为Python3的专用工具。我会坚持以上三个工具


祝你好运

我在PycharmIDE中找到了一种使用2to3工具将文件从v2转换为v3的方法

我在windows环境下申请了pycharm comunity edition v 2016.2.3

  • 单击状态栏中的终端 现在,您在shell命令中,在项目的根目录中
  • 键入命令(转换myfile.py):
该工具修改了文件的代码,您的IDE将通过这些更改反映出来

要修改文件夹中的所有文件,请键入命令

2to3 . -w
选项
-w
以实际写入更改。 有关更多详细信息,请写:

2to3 -h

转到命令行中python2script.py所在的文件夹

然后执行以下命令:

python C:/python/Tools/scripts/2to3.py -w python2script.py

您可以看到pythonscipt.py已更新。

要将python脚本从版本2转换为版本3,只需使用2to3实用程序即可

在linux终端上-

$ 2to3 my_file.py              # shows output only on terminal


其中my_file.py是要转换的文件。

将python 2.X.X转换为python 3.X.X的两种方法

  • 使用Web应用程序
  • 我开发了一个web应用程序,将Python2.x.x代码转换为Python3.x.x。 这是你的电话号码

    注意:此web应用程序是免费的,并使用此
    2to3
    python库


  • 使用2to3库,阅读。
  • 安装2to3库

    pip install 2to3 
    
    转换myfile.py

    2to3 myfile.py 
    
    这将创建一个包含Python 3代码的新文件


    如果要覆盖myfile.py,请使用-w参数,如2to3 myfile.py-w。阅读文档了解更多参数。

    您可以使用此免费在线工具快速转换少数文件


    2to3.py
    将转换80%的脚本中的80%(大约)。您需要3to2。尝试使用pip或从pycharm.pycharm community 2018.xxx中安装3to2。您需要单独安装2to3<代码>pip安装2to3(或者至少它不在标准venv中)
    pip install 2to3 
    
    2to3 myfile.py