我是一个编程新手,需要一些关于修复程序的帮助,将为Python3.x编写的代码重构成可以在2.x解释器上运行的代码。在
我有python3.2,但是Spotify难题(http://www.spotify.com/us/jobs/tech/best-before/)的许可要求代码是用2.6编写的。因此,我找到了3to2隐形眼镜。我有“3to2逯py3k-1.0”。焦油gz“您可以从这里下载的vesion:https://bitbucket.org/amentajo/lib3to2。在
自述文件告诉您
(...)Run "./3to2" to convert stdin ("-"), files or directories given as arguments.(...)
此站点上的文本与自述文件相同。在
我明白我应该运行命令行然后写下:
C:\Python32>3to2 Spotify.py
3to2 is not recognized as an intern or extern command, a program a or batch file.
(挪威语手工翻译)。在
我已经尝试了到特定文件的路径,但是没有名为“3to2”的文件。我试着找到主.py“文件和”Spotify.py“很直接,好像有什么事情发生了(好像需要一点点时间,而且没有出错),但是当我打开时”Spotify.py“再说一遍,档案什么都没发生。在
我感谢所有的帮助。在
谢谢你,斯帕茨,这帮了大忙。最后,我成功地通过cd
C:\Python32>python.exe setup.py install
安装了这个包
不管怎样,我还是有些问题。以print("Hello World!")
程序为例。当我运行python.exe 3to2 HelloWorld.py
(没有python.exe)它回答:
RefractingTool: Skipping implicit fixer: collections
RefractingTool: Skipping implicit fixer: int
RefractingTool: Skipping implicit fixer: memoryview
RefractingTool: Skipping implicit fixer: printfunction
RefractingTool: Skipping implicit fixer: inittest
RefractingTool: Refactored HelloWorld.py
--- HelloWorld.py (original)
+++ HelloWorld.py (refactored)
@@ -1 +1 @@
-print("Hello World!")
+print u"Hello World!"
RefactoringTool: Files that need to be modified:
RefactoringTool: HelloWorld.py
对我来说,这真是个复杂的信号。首先,它似乎跳过了一些修复程序,例如printfunction
。但后来,它显然看起来像是用print u"Hello World!"
改变了{
解决方案:
我想出来了。我不得不把-w
作为一个参数。它除了创建备份文件.bak
之外,还转换了原始文件。在
感谢所有帮助过我的人!在
似乎没有正确安装
3to2
。要安装,请执行以下操作:.tar.gz
文件解压缩到某个目录cd
到该目录并运行python setup.py install
现在您可以
cd
到Spotify.py
所在的目录并运行3to2 Spotify.py
,它应该可以工作了。在相关问题 更多 >
编程相关推荐