2

MacPorts を使用して Mac OS X 10.7.4 に pyglet をインストールしました。

pyglet は 32 ビット アーキテクチャ用にビルドされた場合にのみ機能するため、使用するには、次のようにコマンド ラインから python を実行する必要があります。

arch -i386 /opt/local/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python

そして、pyglet の「hello world」プログラムを正常に実行できます。

ただし、Eclipse で PyDev を使用したいのですが、Python を 32 ビット プロセスとして実行するように PyDev を構成する方法がわかりません。

MacPorts python を追加しました。

/opt/local/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python

Python インタープリターとして ([設定] > [Pydev] > [インタープリター - Python])。新しいプロジェクトを作成し、MacPorts python をプロジェクトのインタープリターとして設定しました。しかし、このプロジェクト内からpyglet の「hello world」プログラムを実行すると、次のエラーが発生します。

pydev debugger: starting
Traceback (most recent call last):
File "/Applications/eclipse/plugins/org.python.pydev.debug_1.6.2.2010090812/pysrc/pydevd.py", line 1145, in <module>
debugger.run(setup['file'], None, None)
File "/Applications/eclipse/plugins/org.python.pydev.debug_1.6.2.2010090812/pysrc/pydevd.py", line 916, in run
execfile(file, globals, locals) #execute the script
File "/Users/andrewfogg/Dropbox/EnvironmentalArt/src/art.py", line 2, in <module>
window = pyglet.window.Window()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pyglet/__init__.py", line 306, in __getattr__
__import__(import_name)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pyglet/window/__init__.py", line 1669, in <module>
from pyglet.window.carbon import CarbonPlatform, CarbonWindow
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pyglet/window/carbon/__init__.py", line 69, in <module>
framework='/System/Library/Frameworks/QuickTime.framework')
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pyglet/lib.py", line 90, in load_library
return self.load_framework(kwargs['framework'])
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pyglet/lib.py", line 226, in load_framework
lib = ctypes.cdll.LoadLibrary(realpath)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/ctypes/__init__.py", line 431, in LoadLibrary
return self._dlltype(name)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/ctypes/__init__.py", line 353, in __init__
self._handle = _dlopen(self._name, mode)
OSError: dlopen(/System/Library/Frameworks/QuickTime.framework/QuickTime, 6): no suitable image found.  Did find:
/System/Library/Frameworks/QuickTime.framework/QuickTime: mach-o, but wrong architecture
/System/Library/Frameworks/QuickTime.framework/QuickTime: mach-o, but wrong architecture

これは、PyDev が python を 64 ビット プロセスとして実行していることを示しています。

Pythonインタープリターで環境変数を設定できることがわかります(設定> Pydev>インタープリター-Python>環境)が、これを正しく構成する方法がわかりません(試しました)。

問題は、PyDev で python を 32 ビット プロセスとして実行するにはどうすればよいかということです。

4

1 に答える 1

2

システムにインストールされている Python を使用する代わりに、32 ビットのみの Python をインストールするのが最善の方法だと思います。

または、システム内のものを本当に使用したい場合は、以下を参照してください: Snow Leopard で Python を 32 ビットに強制する方法と、Python を設定する他の方法に関する他の 32 ビット/64 ビットの質問32 ビットで実行します (VERSIONER_PYTHON_PREFER_32_BIT 環境変数が適しているようです)。

于 2012-06-12T11:58:09.807 に答える