1
huangzhe8263 2018-07-30 09:30:16 +08:00 1
一般建议在 virtualenv 下打包,只导入需要的模块即可
|
2
huangzhe8263 2018-07-30 09:32:42 +08:00
以及最后生成导出的话都会加个参数 -F , 这样只会生成一个二进制文件在 dist 目录下
|
3
cfwyy OP @huangzhe8263 谢谢! virtualenv 下次再好好研究研究。
能否科普一下打包的原理吗?为什么直接在 anaconda 的环境下,这么多东西会打包进去? |
4
cfwyy OP -F 生成单个文件 这个我知道 不过 就算这样 单个文件也有近 300M。而且单个文件启动会慢一点。
|
5
greatx 2018-07-30 09:44:09 +08:00
mkl 库 一般用于 numpy 之类的科学计算环境
|
6
huangzhe8263 2018-07-30 09:46:12 +08:00
估计是 anaconda 链接了不少不需要的库和包吧
可以用 pyinstaller options script.spec 查看下依赖项 |
7
huangzhe8263 2018-07-30 09:47:57 +08:00
嗯对是会慢, 我那脚本跑起来就一直运行了到没太注意...
|
8
YuuuZeee 2018-07-30 09:48:30 +08:00 via Android
环境还是 docker 控制下比较清真…
|
9
sikariba 2018-07-30 09:48:42 +08:00
我前段时间也在 conda 下打包过一次,而且还 import 了 pandas 这种巨大的库,用-F 选项压出来才 30M。
|
10
GrayLand119 2018-07-30 09:57:18 +08:00
貌似 conda 会把环境包都打进去? conda list 查看是否有 pyqt.
|
11
cfwyy OP 感觉就是把 anaconda 下有的包都打进去了,楼上哥们说的 numpy pyqt 这些都是 anaconda 自带的。
|
12
Fenrisu1fr 2018-07-30 14:32:46 +08:00
Virtualenv 稳多了 建议楼主尝试
|