0

Pythonソースにパッチを適用して、Windowsアプリケーションに静的にリンクできるようにしたいと思います(特にコアモジュールが読み込まれるため、これは簡単ではなく、推奨されないことも承知しています)。

必須であることを示唆する名前にもかかわらず、特定の「コアモジュール」を省略できますか?

私は、、_tkinter(まだ削除するかどうかは100%わかりません)、そして_ssl(NTプラットフォームでのみ使用される予定です)ここで考えています。それは可能ですか、それとも微妙な方法で物事を壊しますか?sslwinsoundw9xpopen

注意:静的リンクが何らかの理由で悪いことは言うまでもありません。私がそれを必要とする場合、それははるかに優れた解決策になるでしょう。

4

1 に答える 1

2

どれくらい前にこの質問をしたかを考えると、まだこの答えが必要かどうかはわかりませんが、同じことを疑問に思ったので、私が見つけた情報の一部を残すと思いました:

:これはPython2.7.3のソースツリーに基づいています

_ssl / sslモジュールに依存するPythonモジュールがいくつかありますが、SSLなしのPythonのバージョンをサポートするためのエラーチェックがあり、その機能を無効にするだけです。

sslモジュールを利用する付属のPythonモジュールは次のとおりです。

  • ソケット
  • ftplib
  • httplib
  • imaplib
  • poplib
  • smtplib
  • urllib
  • xmlrpclib

あなたはそれをあなた自身のアプリに埋め込んでいるので、私はおそらく_msiも手放すでしょう。(これにより、msilibモジュールを削除できます)

先に進んで、言及した拡張機能を削除した場合は、Libフォルダーから次のPythonモジュールを常に削除する必要があります。

  • lib-tk
  • ssl
  • wave(winsoundをドロップしたため、waveファイルの解析のサポートは必要ないと思います)
  • スナウ(^)
  • sunaudio(^)
  • audiodev(^)
  • aifc(^)
  • チャンク(^)
  • toaiff(^)

これはGUIアプリだと思いますので、おそらく次のPythonモジュールは必要ありません。

  • のろい
  • tty
  • pty
  • rlcompleter

ただし、アプリが何をしたか、何をしたかはわかりません。残りの部分については控えめに説明します。

Cで記述された組み込みモジュールに関しては、これが100%問題がないことを保証することはできませんが、アプリケーションが実際に必要とするものに応じて、次のいくつかを削除できるはずです。

  • _csv
  • _json(ただし、このモジュールはpythonのみのjsonモジュールの高速化を提供します)
  • _hotshot(ロギングプロファイラーであるhotshotが必要ない場合)
  • imageop

おそらくここにも他の人がいます。

于 2012-11-10T07:07:10.377 に答える