に動的に何かを追加する Python プログラムがありますsys.path
。正常に動作しますが、Python プログラムを .zip ファイルとして配布し、実行したいと考えています__main__.py
。
sys.path
zip ファイルからエントリを追加できますか? 少し調べたところ、pkgutil
ドキュメントが見つかりましたが、何が機能するのかわかりません。
注: Windows用のインクルードとファイルsys.path
に追加する必要があるもの。.pyd
.dll
に動的に何かを追加する Python プログラムがありますsys.path
。正常に動作しますが、Python プログラムを .zip ファイルとして配布し、実行したいと考えています__main__.py
。
sys.path
zip ファイルからエントリを追加できますか? 少し調べたところ、pkgutil
ドキュメントが見つかりましたが、何が機能するのかわかりません。
注: Windows用のインクルードとファイルsys.path
に追加する必要があるもの。.pyd
.dll
私はあなたの質問を完全に理解しているとは言えませんが、とにかくそれに答えることに亀裂があります...
残念ながら、次の場所に追加することで zipfile からインポートできますがsys.path
、
sys.path
モジュールとパッケージの検索場所を提供する文字列のリストが含まれています。これは、PYTHONPATH 環境変数およびその他のさまざまなインストール固有および実装固有のデフォルトから初期化されます。のエントリはsys.path
、ファイル システム上のディレクトリ、zip ファイル、site
および場合によっては URL やデータベース クエリなどのモジュールを検索する必要があるその他の "場所" (モジュールを参照) に名前を付けることができます。には文字列とバイトのみが存在する必要がありますsys.path
。他のすべてのデータ型は無視されます。バイト エントリのエンコードは、個々のパス エントリ ファインダによって決定されます。ソース: http://docs.python.org/3/reference/import.html#path-entry-finders
...ファイルには拡張さ.pyd
れません:.dll
ZIP アーカイブには任意のファイルが存在する可能性がありますが、インポートできるのはファイル
.py
と ファイルのみです。動的モジュール ( 、 ) の ZIP インポートは許可されていません。.py[co]
.pyd
.so
この制限を回避する方法を知りません。