質問

Python標準ライブラリ全体をプログラムにインポートする方法が必要です。

これは悪い考えのように思えるかもしれませんが、これを行いたいので、py2exeは標準ライブラリ全体を私のプログラムにパッケージ化するので、ユーザーは私が与えたシェルでそれからインポートできます。

これを行う簡単な方法はありますか

ボーナスポイント:このアクションでは、site-packagesにインストールしたがPythonに付属していないパッケージはインポートしないことをお勧めします。ただし、これは重要ではありません。

役に立ちましたか?

解決

ちょっと、ちょっと考えました:stdlibのすべてのモジュールのリストが必要なだけです。次に、次のように、各モジュールを「手動で」インポートするPythonスクリプトを自動的に生成します:

import re
import math
import time
# ...

そしてそれを私のプログラムに含めます。

したがって、必要なのは、stdlibのすべてのモジュール/パッケージの簡単にフォーマットされたリストだけです。さて、どうやってそれを手に入れますか?

更新:

次のようなリストを取得しました:仮想マシンにPython 2.6をインストールしてから、IDLEで実行しました:

import pkgutil
stuff = [thing[1] for thing in pkgutil.iter_modules()]
stuff.sort() # To make it easy to look through
print(stuff)

次に、出力をIDEにコピーして、書き込み用の小さなスクリプトを作成しました。

if False:
    import re
    import email
    import time
    # ...

プログラムにインポートするPythonモジュールに。

動作します! py2exeはstdlib全体をパックします。

更新:

これを行うパッケージを作成しました。ここにアップロードしますが、アップロードボタンが表示されないため、プロジェクトフォルダから取得できます。

http://github.com/cool-RR/PythonTurtle/tree/master

フォルダ src にあり、パッケージは almostimportstdlib と呼ばれ、文書化されています。

他のヒント

すべてのPython標準ライブラリからzipファイルを作成し、プログラムの起動時に sys.path に追加しました。

ソースを見ることができますこちら(放棄されたプロジェクト)

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