首页 > 编程语言 >2023-02-18-python打包成exe

2023-02-18-python打包成exe

时间:2023-10-09 19:26:17浏览次数:43  
标签:02 exe python main2 -- config 打包

+++
title = "如何把 Python 程序打包成 exe"
description = ""
date = 2023-02-18T22:27:09+08:00
featured = false
comment = true
toc = true
reward = true
categories = [
""
]
tags = [
"python"
]
series = []
images = []
+++

我需要把我写的程序分给很多没有装 python 环境的人用(即使撞上了 python 环境,也会因为网络原因无法 pip 下载依赖),所以我需要把它打包成 exe ,这样使用门槛就可以很低了。

我主要参考了这篇文章

我的场景

我的程序比较复杂,虽然是命令行程序,但是有很多依赖,并且程序文件分散在几个文件夹里。

如何打包

1. 安装 pyinstaller

pip install pyinstaller

2. 在命令行打包

我的主程序从main2.py开始,并且使用了三个库,采用自动覆盖不提示模式打包,命令如下:

我没有采用打包成单个exe的方式,听说打包成 单个exe 影响性能,本来程序性能就不太好……

pyinstaller -c main2.py --noconfirm --hidden-import pandas,bs4,json5 

pyinstaller:

  • -c 命令行模式
  • --noconfirm 不需要确认,直接覆盖文件
  • --hidden-import 导入库

3. 复制配置文件

workdir下有一个config文件夹,里面有一些配置文件会在程序运行时动态加载,需要复制到打包后的文件夹里,这里我用了 xcopy 命令,如果你用的是 linux ,可以用 cp 命令。

这里其实完全可以手动复制,但是如果从 Devops 的角度来看,这个过程应该是自动化的。

xcopy config dist\main2\config\ /S /c /y
xcopy config\xml转换工具.bat dist\ /S /c /y

4. 检查打包结果

默认打包后的位置是 dist\main2\main2.exe

推荐使用windows沙盒测试,如果测试使用没有问题,就可以把整个目录打包给别人用了。

标签:02,exe,python,main2,--,config,打包
From: https://www.cnblogs.com/kasusa/p/17752922.html

相关文章

  • 2023-02-18-python打包
    +++title="Python打包和上传到pypi"description=""date=2023-02-18T21:59:09+08:00featured=falsecomment=truetoc=truereward=truecategories=[""]tags=["python"]series=[]images=[]+++教程用pyth......
  • 2023-02-09-使用simple_term_menu创建更好的python菜单
    +++title="用simple_term_menu创建更好的python菜单"description=""date=2023-02-09T16:25:24+08:00featured=falsecomment=truetoc=truereward=truecategories=[""]tags=["python","menu"]seri......
  • 2023-02-09-dbdiagram
    +++title="Dbdiagram.io,数据库设计的好选择"description=""date=2023-02-09T16:01:23+08:00featured=falsecomment=truetoc=truereward=truecategories=[""]tags=["database","free"]series=[]......
  • 2023.10.9——每日总结
    学习所花时间(包括上课):0h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.DIV+CSS;明日计划:学习......
  • python29days
    继承单继承下的属性查找多继承下的属性查找super和mro的使用多态和鸭子类型—————————————————————————————————————————————————面向对象的三大特征:封装,继承,多态什么是继承?继承就是让类和类之......
  • [BJDCTF2020]ZJCTF,不过如此
    原理关于preg_replace\e的代码执行双引号和单引号的区别可变变量解题过程代码审计<?phperror_reporting(0);$text=$_GET["text"];$file=$_GET["file"];if(isset($text)&&(file_get_contents($text,'r')==="Ihaveadream")){echo......
  • LY1380 [ 20231009 NOIP 模拟赛 T1 ] AK 神
    题意给定长度为\(n\)的序列\(S\)。\(A\),\(B\)两人轮流取连续\(k\)个数,保证\(n\equiv1\pmodk\)。\(A\)使最终数字更小,\(B\)使最终数字更大。问取到数的和。Sol直接考虑每次选哪些数,怎么选显然是不好做的。不难发现\(n\equiv1\pmodk\)的条件。题面提示我们......
  • Win10安装VSCode并配置Python环境(完美避开踩过的所有坑)
    安装VScode下载vscode下载链接:https://code.visualstudio.com/Download根据自己的电脑型号下载对应的版本。我下载的是windows/UserInstaller,但是使用时会提示“”。所以,推荐下载SystemInstaller版本。两者区别可以自行百度,或......
  • VS code+python环境部署
    安装VScode下载vscode下载链接:https://code.visualstudio.com/Download根据自己的电脑型号下载对应的版本。我下载的是windows/UserInstaller,但是使用时会提示“”。所以,推荐下载SystemInstaller版本。两者区别可以自行百度,或......
  • 2023-01-05vscode技巧
    csharp程序不能输入用vscode运行csharp默认使用的terminal是不支持输入的,输入没反应需要修改launch.json增加这两行我估计是关闭了什么东西,并且调用系统的terminal,具体就不懂了。"configurations":[{//Formoreinformationaboutthe'console'field,se......