在Mac上安装Pyglet
我按照这个链接的步骤在Mac上安装pyglet,因为这是我找到的唯一能解决“错误架构”问题的资源。不过,当我执行最后一个命令pip install pyobjc==2.2
时,出现了以下错误:
AttributeError: 'module' object has no attribute '_install_lib'
----------------------------------------
Cleaning up...
Command /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -c "import setuptools, tokenize;__file__='/private/var/folders/Gb/Gbm1htNCGKeECJJNr2vUpk+++TQ/-Tmp-/pip_build_nueye/pyobjc-core/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/Gb/Gbm1htNCGKeECJJNr2vUpk+++TQ/-Tmp-/pip-6kYwdv-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/var/folders/Gb/Gbm1htNCGKeECJJNr2vUpk+++TQ/-Tmp-/pip_build_nueye/pyobjc-core
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/2.7/bin/pip", line 11, in <module>
sys.exit(main())
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/__init__.py", line 185, in main
return command.main(cmd_args)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip/basecommand.py", line 161, in main
text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 68: ordinal not in range(128)
我还是尝试执行pyglet编程指南中的hello world示例,但是当我运行pyglet.app.run()
时,pyglet窗口就卡住了,什么也不显示。
你知道为什么会这样吗?有没有其他方法可以在Mac上安装pyglet?
2 个回答
1
我这样安装了pyglet。首先,我下载了pyglet,然后在我的Mac上打开了终端(屏幕上显示我的名字后面跟着$)。接着我输入了
cd /usr/local/bin
然后我输入了ls
(这个命令是用来列出文件的),它显示我有pip3
和pip3.6
,还有python3.6
(以及其他一些文件)。接下来我输入了
python3.6 -m pip install pyglet
然后pyglet就安装好了,并显示了
正在收集 pyglet
Downloading pyglet-1.2.4-py3-none-any.whl (964kB)
100% |████████████████████████████████| 972kB 1.2MB/s
Installing collected packages: pyglet
Successfully installed pyglet-1.2.4
1
我不太明白你安装pyobjc的目的是什么?
在osX系统上,Pyglet遇到的问题是因为它是64位架构的,所以你可以试试这个方法,让python强制使用32位。只需在你的控制台输入以下内容:
defaults write com.apple.versioner.python Prefer-32-Bit -bool yes