我只是部署一个使用Matplotlib和Numpy作为依赖项的Django应用程序。它是一个小应用程序,最后,依赖代码大大超过了应用程序代码。我在生产环境中为我不直接在应用程序中使用的方法设置依赖项时也遇到了很多错误。
是否有一种方法可以剥离依赖关系,以便只包含应用程序运行所需的内容?
答案 0 :(得分:3)
不,对于Python来说,没有普遍适用的方法。对于简单的模块有一些启发式方法,但它们将会悲惨地失败。
在NumPy的特定情况下,您必须首先找出其底层C和Fortran代码的哪些部分需要,哪些不需要,这本身就是一个非常困难的问题。即使你可以解决这个问题,NumPy在几个地方也使用__import__
这一事实,包括在编译的扩展模块中,使得几乎不可能确定将导入哪些代码部分。