pyinstaller打包python脚本为exe文件到指定路径及遇到的问题_pyinstaller打包到指定目录_EchoCoder的博客-程序员秘密

技术标签: python  # python  linux  windows  

pyinstaller打包python脚本为exe文件到指定路径

安装pyinstaller

直接使用pip命令安装

pip install pyinstaller

如果国内安装第三方库比较慢,可以使用以下指令进行清华源加速

pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple/

Python脚本打包

进入脚本路径后,执行对应的pyinstaller命令

在需要帮助时,可直接执行 pyinstaller-h或者 pyinstaller --help获得命令帮助

部分选项参数如下:

选项参数
-h    显示帮助信息
-v    显示版本号
–distpath    指定打包后的程序存放目录,默认存放在当前目录下的dist目录
–workpath    为输出的所有临时文件指定存放目录
-c    显示命令行窗口
-w    不显示命令行窗口
-D    生成结果是一个包含exe程序的目录,所有第三方依赖库和其他资源和exe程序位于同一目录下
-F    生成结果是一个exe程序,所有第三方依赖库和其他资源都被打包进该exe程序中
-i    为生成的程序指定一个icon图标
-n    指定生成的.exe和.spec文件名

一个在window下,带控制台输出,并仅生成一个exe文件, 同时指定icon的命令如下:

pyinstaller --console --onefile -i xxx.icon xxx.py

一个仅生成一个exe文件, 同时指定输出路径的命令如下:

pyinstaller -F test.py --distpath .\ -n newname

Q&A

问题1:打包 带有引用了 numpy 包的py脚本时, 在执行pyinstaller命令时报错,报错信息如下:

The current Numpy installation () fails to pass a sanity check due to a bug in the windows runtime

问题原因:本地的numpy 的版本是1.19.4,正好是一个有bug的脚本

解决办法:卸载当前版本,降级numpy至1.19.3

# 首先卸载numpy1.19.4
pip uninstall numpy
pip install numpy==1.19.3

参见官网bug说明:

As a workaround, you temporarily pin to NumPy 1.19.3 (`pip install numpy==1.19.3`) which has a fixed version of OpenBLAS that works correctly in Windows 2004/20H2. This fix broken other things (Linux, Windows-on-docker) and so could not be retained in NumPy 1.19.4.
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/shadow_2011/article/details/120011829

智能推荐

程序员的“机械同感”_weixin_30855099的博客-程序员秘密

偶然在Martin Flower的博客上看到了一篇讲述LMAX架构的博文,里面有一小块提到了“机械同感”Mechanical Sympathy(不知道该怎么翻译好)。恰逢最近正在看第二版的CSAPP(Computer System: A Programmer Perspective,深入理解计算机系统),感慨万千!“机械同感”(mechanical sympathy)来自于赛车比赛,它反映了车...

上传文件报错413 Request Entity Too Large问题的解决方法_老张真牛的博客-程序员秘密

项目场景:上传文件报错413 Request Entity Too Large问题的解决方法相关背景:在网页中点击上传文件问题描述点击上传文件时,提示非程序返回message信息 下图:原因分析:代码中设置的文件大小为10M大小,在正式环境只可以上传1M解决方案:在nginx的conf文件下加入一条配置:如下http{}中加入client_max_body_size xxMxx根据业务需求规定设置最大可上传的文件大小...

决策树之 C4.5 算法_决策树c4.5算法ppt_Q-WHai的博客-程序员秘密

由于 C4.5 算法是建立在 ID3 算法基础之上的,所以在讲解 C4.5 的时候,会有很多与 ID3 重合的内容,这里就不过多冗余地说明了。本文旨在阐明 ID3 存在的问题,以及 C4.5 的改进方案。

LeeCode最优题解收录:709. 转换成小写字母(C++)(大小写转换——位运算)_筱寒小记的博客-程序员秘密

题目:题解:class Solution {public: string toLowerCase(string str) { /* 正常思路 int change_num='a'-'A'; string res=""; for(auto s:str) { if(s>='A'&&s<='Z') res+=(s+change_num); el

MFC中自定义进度条控件和输入框的注意事项_假装自己很懂的博客-程序员秘密

void CProgressDlg::SetPos(int progress){ m_curProgress = progress; m_progressCtrl.SetPos(progress); Invalidate(FALSE); /*UpdateWindow();*/}进度条控件的刷新方式,如果你使用updatewindow你的刷新方式的同步的,阻塞式。那么在其他地方已经在使用当前的UI时,你的刷新很有可能被覆盖掉。导致你的进度条没有实时更新,你关闭你的界面,再打开,发现进度条.

具体数学:计算机科学基础:第2版_csdn1232的博客-程序员秘密

《具体数学:计算机科学基础:第2版》基本信息原书名:Concrete mathematics:A foundation for computer science,second edition作者: (美)Ronald L. ...

随便推点

《带你学C带你飞》—— SE60 标准流和错误处理_earther19949的博客-程序员秘密

文件流分为:标准输入(stdin)、标准输出(stdout)、标准错误输出(stderr)重定向:由于标准输出和标准错误输出通常都是直接打印到屏幕上,为了区分它们,可以使用Linux shell的重定向功能——重定向标准输入使用<——重定向标准输出使用>——重定向标准错误输出使用2>错误处理——错误指示器——ferror——使用clearerr函数可以人为地清楚文件...

android在linux测试,linux下android连接真机测试_真好玩主人的博客-程序员秘密

1.首先手机不插电脑运行命令:lsusb出现:1 Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1root hub2 Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1root hub3 Bus 005 Device 001: ID 1d6b:0001 Linux Foundation...

几种开源SIP协议栈对比 [开始学习VoIP] 『转』 _da5le的博客-程序员秘密

几种开源SIP协议栈对比 [开始学习VoIP] 『转』 几种开源SIP协议栈对比   随着VoIP和NGN技术的发展,H.323时代即将过渡到SIP时代,在H.323的开源协议栈中,Openh323占统治地位,它把一个复杂而又先进的H.323协议栈展现在普通程序员的眼前,为H.323普及立下了汗马功劳。而然当在SIP时代,则出现了群雄割据的状况,SIP相对于H.323简单,灵活

200道常见java知识点总结,问题+答案(转)_爱码士王小刀的博客-程序员秘密

共包含 208 道面试题,本文的宗旨是为读者朋友们整理一份详实而又权威的面试清单,下面一起进入主题吧。Java 基础 JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,Java 运行环境,为 Jav...

给程序员的VIM速查卡_weixin_33997389的博客-程序员秘密

为什么80%的码农都做不了架构师?>>> ...

如何在Android studio创建虚拟机_androidstudio创建虚拟机_鬼使魔天的博客-程序员秘密

Android studio AVD一. 打开Android studio AVD二.创建虚拟设备三.具体模拟设备可选可自定义(自定义):四.下载镜像和窗体的选择(x86速度比arm快n倍,但是arm比x86配置简单不需要硬件加速可省去步骤六、七)五.完成并运行完成。(六.)6.1 运行不了,报错(x86需要硬件加速)解决办法点击下载sdk Intel x86加...

推荐文章

热门文章

相关标签