我正在开发一个小工具,主要使用NumPy和一个SciPy模块(scipy.optimize.fsolve)。我的分享想法是将其与便携式Python一起打包,这样理论上每个人都可以运行它。
整个SciPy包重量很大(约80 mb)。是否可能只编译1个模块成为*.pyd文件并像其他模块一样导入它,以便我不必包含我实际上不需要的模块?
我正在开发一个小工具,主要使用NumPy和一个SciPy模块(scipy.optimize.fsolve)。我的分享想法是将其与便携式Python一起打包,这样理论上每个人都可以运行它。
整个SciPy包重量很大(约80 mb)。是否可能只编译1个模块成为*.pyd文件并像其他模块一样导入它,以便我不必包含我实际上不需要的模块?
scipy.optimize.fsolve
),有几种可能性:
fsolve
函数所需的文件。经过快速浏览,至少需要复制 scipy/optimize/optimize.py
、scipy/optimize/minpack.py
、scipy/optimize/_minpack.so/.pyd
(但我可能错过了一些文件)。scipy/weave
、scipy/sparse
、scipy/linalg
等。scipy.optimize.fsolve
编译成 C 代码,并生成独立的 .pyd/.so 文件。pyinstaller
可以在生成的二进制可执行文件中仅包含所需的模块。因此,您需要一个类似于 pyinstaller
的工具来生成动态库。