0

このチュートリアル (2013 年以降) を PyObjC ( http://blog.adamw523.com/os-x-cocoa-application-python-pyobjc/ ) で使用しています。

ただし、使用後に実行するpython setup.py py2appと、「dist/RocketGui.app/Contents/MacOS/RocketGui」を実行すると次のエラーが発生します。

Mar 19 20:43:19  RocketGui[1863] <Notice>: Traceback (most recent call last):
Mar 19 20:43:19  RocketGui[1863] <Notice>:   File "/Users/*******/Desktop/Projects/Rocket/Software/dist/RocketGui.app/Contents/Resources/__boot__.py", line 136, in <module>
Mar 19 20:43:19  RocketGui[1863] <Notice>:     _run()
Mar 19 20:43:19  RocketGui[1863] <Notice>:   File "/Users/*******/Desktop/Projects/Rocket/Software/dist/RocketGui.app/Contents/Resources/__boot__.py", line 121, in _run
Mar 19 20:43:19  RocketGui[1863] <Notice>:     exec(compile(source, path, 'exec'), globals(), globals())
Mar 19 20:43:19  RocketGui[1863] <Notice>:   File "/Users/*******/Desktop/Projects/Rocket/Software/dist/RocketGui.app/Contents/Resources/RocketGui.py", line 1, in <module>
Mar 19 20:43:19  RocketGui[1863] <Notice>:     from Cocoa import *
Mar 19 20:43:19  RocketGui[1863] <Notice>:   File "Cocoa/__init__.pyc", line 8, in <module>
Mar 19 20:43:19  RocketGui[1863] <Notice>:   File "objc/__init__.pyc", line 32, in <module>
Mar 19 20:43:19  RocketGui[1863] <Notice>:   File "objc/_bridgesupport.pyc", line 13, in <module>
Mar 19 20:43:19  RocketGui[1863] <Notice>:   File "pkg_resources/__init__.pyc", line 49, in <module>
Mar 19 20:43:19  RocketGui[1863] <Notice>: ImportError: No module named moves
Mar 19 20:43:19  RocketGui[1863] <Notice>: 2016-03-19 20:43:19.989 RocketGui[1863:8841237] RocketGui Error

私は次のことをしました:

pip install -U six

ただし、オンラインで調べたところ、PyObjC はサポートされなくなったようです。これに対する修正はありますか、それともフレームワークを切り替える必要がありますか (私は pip でインストールできるものを好みます)?

4

1 に答える 1

0

に依存関係を追加しようとしましたsetup.pyか? includesまたはに追加できますpackages。次に例を示します。

setup(
    app=['main.py'],
    name="AppName",
    data_files=['en.lproj'],
    setup_requires=['py2app'],
    options=dict(py2app=dict(iconfile='en.lproj/icon.icns',
                             includes=['lxml.etree', 'lxml._elementpath', 'pdflib_py', 'Image', 'unirest'],
                             packages=['packageName']
                             )   
                 )   
)

次のように、エイリアス モードでアプリケーションを実行することもできます。

python setup.py py2app -A

そうすれば、システムにインストールされているパッケージが使用され、開発中はより高速になります。

于 2016-04-21T14:43:08.790 に答える