Part of the purpose of cx_Freeze is to bundle all the dependencies, so that the end user need not install them. numpy
, matplotlib
, etc. are not small dependencies, especially because they have large binary (non-Python) components. So what you are asking is not physically possible, not because of cx_Freeze limitations, but because of a contradiction between the following two requirements:
- end user should be able to run executable on essentially any Windows machine, including possibly one without Python, numpy, and matplotlib
- distributed binary size should be small
You cannot satisfy both these requirements simultaneously. cx_Freeze is appropriate for the first, but not the second. If you can assume your end users already have Python, numpy, matplotlib installed (or can install seperately), and want to distribute your program such that the binary size be small, a wheel is more appropriate.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…