4

Mac OS X 10.6 で py2app を使用してアプリ バンドルを構築しようとしています。アプリは、32 ビット用にのみコンパイルされたいくつかのライブラリを使用するため、アプリを実行すると、「適切な 64 ビット アーキテクチャがありません」という ImportError が発生します。アプリを強制的に 32 ビット モードで実行するように py2app に指示するにはどうすればよいですか?

4

5 に答える 5

6

32 ビット モードでのみ実行する場合は、64 ビット アーキテクチャは必要ありません。dittoそのため、ユーティリティを使用して、結果のアプリケーション バンドルから非 i386 アーキテクチャをすべて取り除くことができます。

例:

ditto --rsrc --arch i386 YourApplication.app YourApplicationStripped.app

アプリケーション バンドルはより小さくなり、64 ビット Intel システムでも 32 ビット アプリケーションとして確実に実行されます。

マニュアル: http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/ditto.1.html

または、ターミナルで実行します。man ditto

于 2011-11-30T02:44:44.920 に答える
5

1 つの方法は、py2app で python.org からダウンロード可能な 32 ビットのみのバージョンなど、32 ビットのみの Python を使用することです。もう 1 つは、生成されたアプリ バンドルの Info.plist に、場合によっては を設定するLSArchitecturePriorityことです。詳細については、こちらを参照してください。i386ppc

于 2011-09-19T16:37:15.017 に答える
4

多くの苦労とwxの動作を試みた後、この方法を使用して動作させることができました.インストールしたバージョンも含めました
.これは私にとって唯一の機能でした..

py2applet --arch=i386 -i (includes here) --make-setup (pythonfiles, icon)

私のはこれに少し似ています

py2applet --arch=i386 -i wx, platform --make-setup print.py print.icns convert.py


wxPython2.8-osx-unicode-py2.7
setuptools-0.6c11-py2.7.eggでpython2.7 をインストールし
てから

sudo easy_install-2.7 py2app

これはpy2appletのバージョン0.6.4をインストールしました

于 2012-01-29T13:36:20.493 に答える
1

OK、私は Vebjorn の 1 つのオフィスで働いているので、回答を投稿するのに最適な場所である可能性があります。py2app オプションの辞書が与えられた場合:

options = {}
...
options['plist'] = { "LSArchitecturePriority": [ "i386" ] }
...
setup(options={'py2app':options})

これにより、LSArchitecturePriority キーの 1 つの文字列値の配列が作成されます。

于 2013-05-14T16:40:58.313 に答える
0

Pythonを強制的に32ビットモードで実行する必要があります。

于 2011-09-19T14:21:17.403 に答える