使 SWIG 生成 python 3.2 print() 语句

发布于 2024-12-20 09:39:45 字数 476 浏览 0 评论 0原文

我感觉这个问题有一个非常简单的答案。

我正在尝试生成 python 3.2 SWIG 包装器。 SWIG 应该可以与 3.2 一起使用,一切都很好,并且 DLL 已构建。但是,当我尝试导入我的模块时,我得到:

>>> import pywii
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "pywii.py", line 645
    print 'Searching for wiimotes... Turn them on!'
                                                  ^
SyntaxError: invalid syntax

所以,SWIG 显然正在生成 Python 2 代码。我如何让它使用 Python 3 来代替?谢谢。

I have feeling there's a very simple answer to this.

I'm trying to generate a python 3.2 SWIG wrapper. SWIG is supposed to work with 3.2, and everything works great, and the DLL is built. But, when I try to import my module I get:

>>> import pywii
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "pywii.py", line 645
    print 'Searching for wiimotes... Turn them on!'
                                                  ^
SyntaxError: invalid syntax

So, SWIG is clearly generating Python 2 code. How do I make it do Python 3 instead? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

会发光的星星闪亮亮i 2024-12-27 09:39:45

我很惊讶 SWIG 生成的 Python 文件会使用 print。您确定这是生成的 Python 包装器的一部分吗?生成的包装器应适用于 Python 2 和 Python 3,但有一个特定于 Python 3 的开关 (-py3) 可以启用某些 Python 3 功能。

I'm surprised a SWIG-generated Python file would use print. Are you sure that is part of the generated Python wrapper? The generated wrapper should work with both Python 2 and Python 3, but there is one Python 3-specific switch (-py3) that enables some Python 3 features.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文