我之前开发用的虚拟环境已经很久没有变动动过了,最近筹划写点新的功能模块,需要用到一些新的第三方包,我想测试一下这些新的包安装到venv中后,用pyinstaller打包后的exe文件尺寸有多大变化,随后发现问题。
在向venv环境添加了新包后,用pyinstaller打包程序时出现错误信息:Fatal error in launcher: Unable to create process using '"D:\dev\Qthinker.venv\Scripts\python.exe" "D:\Qthinker.venv\Scripts\pyinstaller.exe",后面的字符省略了,是一堆打包时的参数。
我开始怀疑是路径问题,跑到win的系统环境变量里看了看,然后把venv的路径加到了全局PATH里,但是没有作用,依然报错。where pyinstaller查看路径,也没有和anaconda环境里的东西有冲突,pyvenv.cfg也配置正常,搞不清楚到底是什么原因造成这个问题。
一脸懵逼中,我想到有没有可能是pyinstaller.exe这个程序本身出现了啥问题,导致环境调用解释器时报错?如果是这样,可以尝试替换exe文件本身,或者试试把pyinstaller升级一下看看。于是我用 python -m pip install --upgrade pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple 对其进行了升级,如下图所示,可以看到原来的版本是5.5,升级成了5.7:
升级完成后,再次尝试编译打包,错误信息消失,开始正常编译。以后再遇到Fatal error in launcher: Unable to create process using '"D:\dev\Qthinker.venv\Scripts\python.exe" 类似的错误提示时,如果常规方法解决不了,可以试试upgrade出问题的包。
文章评论