python的gi模块与python3不兼容

时间:2017-08-09 01:43:57

标签: python python-3.x

我试图运行一个python(版本3.6.2)程序,该程序也使用" gi"模块。 当我尝试导入" gi"时,它会给我以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/gi/__init__.py", line 39
    print url
            ^
SyntaxError: Missing parentheses in call to 'print'

我唯一要做的就是导入它。

import gi

1 个答案:

答案 0 :(得分:1)

你可以使用工具 2to3 是一个Automated Python 2 to 3 code translation,你可以通过抛弃旧的python并使更改工作到python 3,我做了一个简单的例子,像这样:

我创建了这个文件python2.py:

#!python3

print 5

当我用python运行它时,显然会显示:

line 3
    print 5          ^
SyntaxError: Missing parentheses in call to 'print'

所以,您可以通过终端转换它:

  

这是重要的命令

$ 2to3 -w home/path_to_file/python2.py

-w参数将写入文件,如果您只想查看未来的更改而不应用它们,只需在没有-w的情况下运行它。  运行后它将显示类似

的内容
root: Generating grammar tables from /usr/lib/python2.7/lib2to3/PatternGrammar.txt
RefactoringTool: Refactored Desktop/stackoverflow/goto.py
--- Desktop/stackoverflow/goto.py   (original)
+++ Desktop/stackoverflow/goto.py   (refactored)
@@ -1,3 +1,3 @@
 #!python3

-print 5
+print(5)
RefactoringTool: Files that were modified:

该文件将如下所示:

#!python3

print(5)