只说打包成单文件——【仅针对win系统】

步骤:

1、写脚本

2、在当前环境下安装pyinstaller

3、打开终端界面【terminal】

  (1)切换到当前程序所在路径

  (2)运行打包命令: pyinstaller -F  xx.py  -n  newname    

    (3)  打包成功显示如下界面

python打包dist里没有文件 python打包报错_cmd命令

 

 4、 cmd命令打开dos窗口输入 exe文件对应的路径/名称即可 具体输入见下

python打包dist里没有文件 python打包报错_cmd命令_02

 

 

但是!!! 它报错了,原因大概就是我程序中导入了 from sqlalchemy import xxx,但是打包的过程中,没有找到这个sqlalchemy包。

此时解决办法:

法1:

  1、修改打包时相应生成的spec文件的里的 【hiddenimports 】缺啥补啥

  2、补完以后,其他不要动,在 terminal窗口,打包spec文件 命令   pyinstaller write.spec (回车)

  3、然后打开cmd,进行上述4的步骤,看看是否还缺新包,要是缺其他包,就一直按这个过程进行下去,知道把所有的包都补齐

       4、但是,这个方法它解决不了我的问题,运行结果它依旧报一模一样的错。。。具体解决看法2

python打包dist里没有文件 python打包报错_win系统_03

 

 法2:

反正就是依赖包的问题,么得办法,只能硬着头皮看看依赖环境,打开lib竟然神奇的发现它竟然没有我的sqlalchemy,

python打包dist里没有文件 python打包报错_sqlalchemy_04

python打包dist里没有文件 python打包报错_cmd命令_05

 

 

 一看sqlalchemy竟然在site-package里,真是天助我也,把sqlalchemy从site-package复制到lib里

然后把刚刚打包完成的那些文件都删了,重新打包,这次运行终于缺的是另一个文件了

python打包dist里没有文件 python打包报错_cmd命令_06

 

 那就继续从site-package里复制到lib里,再删除之前打包文件,重新打包,运行——最后看见了胜利的曙光

python打包dist里没有文件 python打包报错_win系统_07

 

 

总结:大概之前两个文件我都是在pycharm--setting中点击安装的,所以就安装在了site-package里,而打包时只读取lib的文件,因为lib里没有,所以运行时会报错【以上总结纯属个人猜测,至于是否正确我也不知哦~】