質問

Python/C APIを使用するアプリを配布しています。 Python31.zipには、基本的にPythonインストールディレクトリ内のLIBフォルダーのアーカイブであるすべての標準Pythonモジュールがあります。問題は次のとおりです。SYSやIOなどの最も一般的なモジュールは正常に動作します。しかし、Tkinterはそうではありません。 「モジュール_tkinterが見つからない」エラーが発生します。プロジェクトには本当にtkinterが必要です。それが役立つなら、私はWindowsを使用しています。

役に立ちましたか?

解決

私はあなたのアプリにTkinterをバンドルする最良の方法ではありませんが、なぜあなたがあなたがそうであるかを得る理由を知っています。の関連セクション zipimport モジュールのドキュメント:

任意のファイルはzipアーカイブに存在する場合がありますが、インポートにはファイルと.py [co]のみが利用できます。動的モジュールのzipインポート(.pyd、.so)は許可されていません。アーカイブに.pyファイルのみが含まれている場合、pythonは対応する.pycまたは.pyoファイルを追加してアーカイブを変更しようとしないことに注意してください。つまり、zipアーカイブに.pycファイルが含まれていない場合、インポートはかなり遅くなる可能性があります。

モジュール_TKINTERは、C-Extension /共有ライブラリです。 zipファイルからインポートすることはできません。

他のヒント

使ってみませんか py2exe アプリケーションを実行可能ファイルとしてバンドルするには?すべての依存関係を処理する必要があり、必要なものは何でも含まれます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top