在 PyCharm 中将 python 2 代码转换为 3
Posted
技术标签:
【中文标题】在 PyCharm 中将 python 2 代码转换为 3【英文标题】:Convert python 2 code to 3 in PyCharm 【发布时间】:2016-10-19 20:37:47 【问题描述】:我有一个使用 python 2 代码编写的大型 ML 项目,我刚刚开始使用 PyCharm 作为 IDE。我目前正在使用 WinPython 3.4,我最好在 python 3 中完成所有操作,而不是继续使用 legacy 2。当我从 git 克隆项目时,pycharm 中出现了一个弹出窗口,类似于将代码转换为3 from 2 但我并没有真正考虑并退出它。我该如何转换它?
【问题讨论】:
2to3.py
将转换 80% 的脚本中的 80%(大约)。
尝试python2to3.com 单个文件脚本
【参考方案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 库,阅读doc here。
安装 2to3 库
pip install 2to3
转换 myfile.py
2to3 myfile.py
这建议创建一个包含您的 Python 3 代码的新文件。
如果您想覆盖 myfile.py,请使用 -w 参数,例如 2to3 myfile.py -w。阅读文档以获取更多参数。
【讨论】:
【参考方案2】:您可以使用这个免费的在线工具快速转换几个文件
https://python2to3.com/
【讨论】:
【参考方案3】:我在 Pycharm IDE 中找到了一种使用 2to3 工具将文件从 v2 转换为 v3 的方法。
我在windows环境下申请了pycharm社区版v 2016.2.3。
点击状态栏中的终端 现在,您处于项目根目录中的 shell 命令中。 输入命令(转换 myfile.py):2to3 myfile.py -w
工具修改文件的代码,你的 IDE 会随着修改反映出来。
要修改文件夹中的所有文件,请输入命令
2to3 . -w
选项-w
实际写入更改。
更多详情请写:
2to3 -h
【讨论】:
你需要 3to2。尝试使用 pip 或从 pycharm 中安装 3to2。 Pycharm 社区 2018.xxx 在这里。您需要单独安装 2to3。pip install 2to3
(或者至少它不在标准 venv 中)【参考方案4】:
在命令行中转到 python2script.py 所在的文件夹,
然后执行命令:
python C:/python/Tools/scripts/2to3.py -w python2script.py
您可以看到您的 python2scipt.py 已更新。
【讨论】:
【参考方案5】:为了将您的 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】:在任何事情之前,我都会先保存您的 Python 2 文件的备份副本。
然后,您可以尝试使用“2to3”自动化 Python 2 到 3 代码翻译工具来转换代码,该工具通过标准库内置于 Python 中。 可以在此处找到有关使用的详细信息: https://docs.python.org/2/library/2to3.html#
您还可以选择两种工具来自动移植代码:Modernize 和 Futurize。在下面查看它们。
现代化 --> https://python-modernize.readthedocs.io/en/latest/
未来化 --> http://python-future.org/automatic_conversion.html
就 Pycharm 而言,我没有看到/不知道 IDE 中有任何专门的工具可以将代码从 Python 2 转换为 Python 3。我会坚持使用上面的 3 个工具。
祝你好运!
【讨论】:
【参考方案7】:Python 中包含一个script,通常位于[Python Root]/Tools/Scripts/2to3.py
。您可以在 python 文件(或 python 文件目录)上运行该脚本,它将处理大量转换,至少对于标准库中的更改。
如果您的项目使用其他 3rd 方库,它会变得有点复杂。在 2 到 3 转换期间更改的 API 可能是 API,而2to3.py
脚本将不知道这些 API 更改。最好的办法是运行转换脚本,然后手动进行任何其他需要的更改。
【讨论】:
以上是关于在 PyCharm 中将 python 2 代码转换为 3的主要内容,如果未能解决你的问题,请参考以下文章
python基础===利用PyCharm进行Python远程调试(转)
转 windows下安装pycharm并连接Linux的python环境