2013-01-19 122 views
10

我不能从Python 3的使用Pyglet 1.2alpha1(这应该能够PY3下运行)Pyglet 1.2alpha1不工作的Python 3.3.0

我按照说明操作,正确安装它,但它不能在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 

读errore消息这是很明显的错误是在打印所用Python编写的2型(print foo代替的print(foo))。

所以我的问题是:是否真的可以在Python 3下运行pyglet?

我知道正确使用它的人,所以我该怎么办?可能是因为在网站上上传了Pyglet的错误版本?我应该用2to3进行转换吗?

+0

您遵循了哪些说明?换句话说,你是如何安装它的? – delnan

+1

我遵循可在此处找到的说明,http://www.pyglet.org/doc/programming_guide/installing_using_setup_py.html。我甚至下载了官方的阿尔法文档,但说明都是一样的。我查看了下载的.zip文件中包含的_init_.py文件,其中的打印文件实际上是错误的,如前所述,它是用Py2风格而不是Py3编写的。我之前应该说过,我现在正在运行OS X,并且不能在Windows或Linux上尝试,因为我现在还没有其他计算机。 – AndPassa

+0

setup.py应该运行2to3。你用3.x python运行'pythonX.Y setup.py install'? – delnan

回答

0

我有同样的问题:Windows 8的的Python 3.3.2Pyglet 1.2alpha1
我环顾四周,但直到现在还没有找到解决方案。

我安装的是2.7.5 Python版本,改变了以前Python.exe文件(的3.3.2版本的一个)Python33.exe并相应调整PATH环境变量。 然后,我在2.7版本中安装了Pyglet 1.1.4(从命令行,可执行文件也有更多错误)。

我使用Eclipse,所以我在PyDev设置中添加了两个Interpeter。 现在所有的作品都很好,如果我使用Python27解释器。

6

我已经得到Pyglet 1.2alpha1在Python 3.3.2的Windows 8上工作。 (该方法应该是在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库的pyglet文件夹:%python%\Lib\site-packages\pyglet (其中%蟒%是Python安装文件夹,默认为C:\ Python33在Windows)

然后运行python setup.py install。它应该经历所有步骤(复制要构建的文件,使用2to3进行转换,最后将字节编译到Lib子文件夹)。

+0

感谢您的支持。有用。但现在我正在尝试为python 3.3构建cocos2d。你做完了吗? – swdev

+0

这种方式对我不起作用:(也许是因为我使用的是Windows 7? – Llopis

+1

这应该也适用于Windows 7,Llopis。你的情况似乎正在发生什么? – ricovox

1

Pyglet 1.2 alpha只是“python3 ready”,即它不会运行python3开箱即用,但必须通过2to3进行转换。 (在转换后它不会再与python2一起运行)

要将pyglet与python2和python3项目结合使用我总是将pyglet复制到项目的子文件夹中(如果我想用python3将其转换为2to3 )。