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

智能推荐

imp/exp 导出导入含有大字段的表_kai27ks的博客-程序员秘密

首先。如果你的表空间里有多个大字段的表,那么建议你最好使用oracle最新的数据泵技术expep/impep,这个技术能很好的支持大数据字段(clob/blob)。   那么如果你习惯使用imp/exp这种比较古老但是你顺手的技术呢。这时依如下步骤即可解决。   首先,使用我之前的文章导入除大数据外的其他所有表。参考:http://blog.csdn.net/kai27ks/article

[经验总结]ubuntu使用终端设置网络_ThinkHY的博客-程序员秘密

以eth0为例1. 以DHCP方式配置网卡编辑文件/etc/network/interfaces:sudo vi /etc/network/interfaces并用下面的行来替换有关eth0的行:# The primary network interface - use DHCP to find our addressauto eth0iface eth0 inet dhcp

jQuery原型方法_jquery 原型方法_weixin_44387746的博客-程序员秘密

先来了解几个jQuery方法:$(“li”) -> this -> jQuery对象 -> { 0 : “li”, 1 : “li”, 2 : “li”, length : 3 }$(“aaa”) 的效果跟 $("")的效果是一样的。然后来看一下init方法,也就是新建jQuery对象调用的方法:jQuery.fn = jQuery.prototype ...

无障碍检测_安卓无障碍隐藏不被检测_牙叔教程的博客-程序员秘密

牙叔教程 简单易懂无障碍概念无障碍服务是一种应用程序,给有残疾的用户或暂时无法与设备完全交互的用户提供了更好的无障碍用户交互功能, 比如驾驶、照顾小孩或者在吵闹的派对上可能需要额外或者替代的交互反馈。​Android提供标准的辅助功能服务,包括TalkBack,开发人员可以创建和分发自己的服务。环境Autojs版本: 9.0.8安卓版本: 11手机: 小米11pro​检测无障碍方式1. 普通的无障碍检测let am = context.getSystemService(and

Service前台服务_weixin_45480648的博客-程序员秘密

前台服务是用户知道 内存不足的时候不允许系统杀死的服务前台必须给状态栏提供一个通知 它被放到正在运行的标题之下只有在这个服务被终止或从前台主动移除通知后才能被解除如果我们希望Service可以一直保持运行状态且不会在内存不足的情况下被回收时,可以选择将需要保持运行的Service设置为前台服务。例如:音乐播放器创建前台服务MyService类import android.app.No...

遇见一个删除文件的问题,网上的答案却都在扯淡?_程序员大咖的博客-程序员秘密

Python实战社群Java实战社群长按识别下方二维码,按需求添加扫码关注添加客服进Python社群▲扫码关注添加客服进Java社群▲作者丨王翔丨来源丨清风Python关于文件(夹)...

随便推点

html app5 仿微信朋友圈,h5仿微信web版|仿微信电脑客户端|仿微信朋友圈源码_weixin_39611754的博客-程序员秘密

>HTML5开发了一个仿微信客户端web网页版,实现了消息、表情发送 | 大图、视频效果预览 | 仿微信红包、打赏等多功能。![003360截图20180526105830754.jpg](https://static.studygolang.com/180724/1d0489749140a79c52777ffb167aaedf.jpg)![005360截图20180526110017896...

SV中的automatic与static_sv automatic_better_xiaoxuan的博客-程序员秘密

module breakpoint;int val1;int val2;int result1;//定义在这里,或者定义在未特殊声明的function/task中都是静态的方法function int incr_static(input int a); $display("result1 = %0d", result1); result1 = a + 1; $display("re

xyz比大小c语言,用C读取xyz文件的坐标信息_Jasmine松茸的博客-程序员秘密

CODE:这个或许可以满足你的要求#include #include #include #include #define BUFSIZE 512int main(int argc,char *argv[]){FILE *ifp,*ofp;char buf[BUFSIZE];int number; // record entry numberint i;double *x,*y,*z;i...

网络流入门 ( + 推荐博客)_Error Man的博客-程序员秘密

网络流入门推荐两位大牛的博客(写的賊好):http://www.cnblogs.com/ZJUT-jiangnan/p/3632525.html.http://www.cnblogs.com/zsboy/archive/2013/01/27/2878810.html.在推荐一个题. hdu 1532...

C语言初学者-基础的三篇代码-3-_小sun太阳的博客-程序员秘密

水仙花数定义:仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:13+53+33 = 153)。#define _CRT_SECURE_NO...

TI SAE J1772兼容电动汽车充电器参考设计TIDA-010071_iczoom的博客-程序员秘密

TIDA-010071是SAE J1772兼容的电动汽车服务管理设备(EVSE)参考设计,用于Level 1和Level 2级EV充电器.电动汽车服务管理设备(EVSE)从电网给电动汽车(EV)提供安全的电源.EVSE控制系统包括辅助电源,离板的AC/DC大功率电源(仅在DC充电站),能量计量单元,AC和DC剩余电流探测器,隔离监视器单元,带驱动的继电器和接触器,单线双向通信,服务和用户接口.该参...

推荐文章

热门文章

相关标签