1

Python 3 スクリプト (バージョン 3.7) に基づいて、Mac OSX 用のスタンドアロン GUI アプリを作成しようとしています。.py スクリプトは、ターミナルから直接起動すると完全に機能します。ただし、これは .jpg をダウンロードするときに支援が必要な父のためのものなので、簡単なダブルクリック アプリが必要です。

残念ながら、私が使用しようとしているすべてのツールには、使用しているモジュールに関する既知のバグがあるようです ( py2App = openpyxl / pyinstaller = tkinter )。私が今使おうとしているのは cx_Freeze です。

ただし、Python 3.7 には既知のバグが記載されています。

Mac OSX マシンでこれを修正しようとしましたが、参照されているファイルが見つかりません (この GIT-hubで、上記の最初の投稿でリンクされたコード)。

このバグを修正したいのですが、Python とスタンドアロン アプリの作成の両方に関する知識を増やすために、なぜこれが起こっているのかを理解したいと思っています。

残念ながら、GIT-hub の投稿を読んで修正する方法 (Windows システムに向けられており、ファイルが見つからないため) や、このバグが発生する理由を理解するのに十分ではありません。

よろしくお願いします。

参考までに、作成した実行可能ファイルを起動したときの端末出力のコピーを次に示します。

/Users/USER_NAME/Desktop/Python/DAD_PROJECT/build/exe.macosx-10.9-x86_64-3.7/PROJECT_NAME ; exit;
MacBook-Pro-de-USER_NAME:~ USER_NAME$ /Users/USER_NAME/Desktop/Python/DAD_PROJECT/build/exe.macosx-10.9-x86_64-3.7/PROJECT_NAME ; exit;
Fatal Python error: initfsencoding: unable to load the file system codec
ImportError: invalid flags 1545637508 in 'encodings'

Current thread 0x00007fff98191380 (most recent call first):
Abort trap: 6
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Opération terminée]

編集し、適切な測定のために、私の setup.py ファイルも:

これは、 cx-freeze.readthedocsでアドバイスされているように、cxfreeze-quickstart を使用して私の Mac で自動的に生成されたことに注意してください。

from cx_Freeze import setup, Executable

# Dependencies are automatically detected, but it might need
# fine tuning.
buildOptions = dict(packages = [], excludes = [])

import sys
base = 'Win32GUI' if sys.platform=='win32' else None

executables = [
    Executable('PROJECT_NAME.py', base=base, targetName = 'PROJECT_NAME')
]

setup(name='PROJECT_NAME',
      version = 'DAD_PROJECT',
      description = 'Project for my dad',
      options = dict(build_exe = buildOptions),
      executables = executables)
4

1 に答える 1