MatplotlibとNumpyを依存関係として使用するDjangoアプリケーションをデプロイしています。これは小さなアプリであり、最終的には依存関係コードがアプリコードを大幅に上回ります。また、アプリで直接使用していないメソッドの本番環境での依存関係の設定で多くのエラーが発生します。
アプリが機能するために必要なものだけが含まれるように依存関係を取り除く方法はありますか?
MatplotlibとNumpyを依存関係として使用するDjangoアプリケーションをデプロイしています。これは小さなアプリであり、最終的には依存関係コードがアプリコードを大幅に上回ります。また、アプリで直接使用していないメソッドの本番環境での依存関係の設定で多くのエラーが発生します。
アプリが機能するために必要なものだけが含まれるように依存関係を取り除く方法はありますか?
いいえ、Pythonに一般的に適用できる方法はありません。単純なモジュールにはいくつかのヒューリスティックがありますが、それらは惨めに失敗します。
NumPyの特定のケースでは、最初に、基礎となるCおよびFortranコードのどの部分が必要で、どの部分が必要でないかを確認する必要があります。これは、それ自体が非常に難しい問題です。それを解決できたとしても、NumPy__import__
がコンパイルされた拡張モジュールを含むいくつかの場所で使用しているという事実は、コードのどの部分がインポートされるかを決定することをほぼ不可能にします。