10

Python 3 から Pyglet 1.2alpha1 (Py3 で実行できるはず) を使用できません。

指示に従って正しくインストールしましたが、Py3 では動作しませんが、Python 2.7 から使用できるため、すべてを正しくインストールしたことがわかります。

インタープリターを使用して子豚をインポートしようとするたびに、次のエラーが発生します。

>>> import pyglet

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "./pyglet/__init__.py", line 276
    print '[%d] %s%s %s' % (thread, indent, name, location)
                   ^
SyntaxError: invalid syntax

print fooエラー メッセージを読むと、(ではなく) Python 2 スタイルで記述された印刷物にエラーがあることは明らかですprint(foo)

私の質問は、Python 3 で pyglet を実行できるというのは本当ですか?

正しく使っている人を知っていますが、どうすればいいですか?Web サイトにアップロードされた Pyglet のバージョンが間違っている可能性がありますか? 2to3で変換すればいいの?

4

3 に答える 3

6

Pyglet 1.2alpha1 を Windows 8 で Python 3.3.2 で動作するようにしました。(フォルダーパスが異なることを除けば、方法はLinuxでも同じである必要があります)

問題は、実行python setup.py installすると、次の最初の数行が表示された後、長時間ハングしているように見えることです"skipping implicit fixer"。その後、ターミナル/bash ウィンドウを閉じて (インストール プロセスを中止します)、setup.py を再度実行すると、2to3 変換がスキップされ、py2 ソース ファイルがインストールされます。

明らかな「ハング」の理由は、2to3 がファイルを変換するのに時間がかかるためですが、十分に長く待つと変換が行われ、モジュールが正しく変換されてインストールされます。

これをすでに一度インストールしている場合は、インストールを正しく機能させるために、いくつかのフォルダーを削除する必要があります。

まず、1.2alpha1 ソース フォルダー内のビルド%unzip_folder%\pyglet-1.2alpha1\buildフォルダーを削除します (unzip_folder は、Pyglet 1.2alpha1 ソースを解凍したフォルダーです)。

また、Python Lib からpygletフォルダーを削除します%python%\Lib\site-packages\pyglet (ここで、%python% は Python のインストール フォルダーで、Windows ではデフォルトで C:\Python33 になります)。

次に実行しpython setup.py installます。すべての手順 (ビルドするファイルのコピー、2to3 を使用した変換、最後に Lib サブフォルダーへのバイト コンパイル) を実行する必要があります。

于 2013-09-04T19:01:48.267 に答える