网站首页 > java教程 正文
我们在用python打包的时候 常用的是用pipenv来打包,当然还有其他的一些打包软件,我这里以pipenv来介绍:
pipenv 是创造一个虚拟的干净环境,去掉不必要的包,使得小程序的体积控制在1-10M左右,当然如果程序很复杂,也可能会超过不少具体看自己程序依赖包的大小。
下面我们就开始介绍一下用anconda集成环境为基础,来用pipenv来打包
1.如果我们安装了各种版本的anconda在配置环境变量以使用pipenv要删除本地的虚拟环境,避免上一个版本使用遗留影响到现在版本的打包:
在C:\Users\Administrator\.virtualenvs中删除.virtualenvs文件,这是一个虚拟的本地环境也是一个临时环境,可以随时删除没有任何影响
桌面上新建文件,把文件进行打包,这里我习惯用Powershell窗口打包
进入之前设置anconda国内镜像:
我这里选择阿里巴巴的镜像地址:随便一个cmd窗口执行:
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
或者在进入前后都执行一遍,再检查配置文件是否是有镜像库的地址,是否执行成功
进入pipenv 环境 pipenv shell
清空环境 pipenv --rm
清空文件锁环境
添加依赖包环境,我这里代码看着很多 其实只有一个openpyxl 知识多加了一个 pyinstaller 用于打包
配置文件:
[[source]]
url = "https://mirrors.aliyun.com/pypi/simple/"
verify_ssl = true
name = "pypi"
[packages]
openpyxl = "*"
pyinstaller = "*"
[dev-packages]
[requires]
python_version = "3.12"
这里 切换配置文件为国内镜像地址后,再进行安装其他的包
这样打包的时候下载数据会比较快
安装依赖包
pipenv install pyinstaller 这里是打包必备,否则哪怕你在虚拟机中打包,如果没有安装pyinstaller 它会用外包的pyinstaller 会把你的包变得几百M那么大。这是必须的,不行你可以试试。
pipenv install openpyxl 这是代码需要依赖的包
打包成功后:大约12M
双击测试,应用程序就可以执行了
永久配置anaconda的镜像地址
cmd中输入命令:
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free/
2conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main/
3conda config --set show_channel_urls yes
查看配置
conda config --show
出现以下说明配置成功
猜你喜欢
- 2025-05-03 pyinstaller打包python程序高级技巧
- 2025-05-03 将python打包成exe的方式(python打包成exe的方法)
- 2025-05-03 Python打包:如何将 Flask 项目打包成exe程序
- 2025-05-03 py2exe实现python文件打包为.exe可执行程序(上篇)
- 2025-05-03 如何将 Python 项目打包成 exe,另带卸载功能!
- 2025-05-03 Python打包成 exe,太大了该怎么解决?
- 2025-05-03 可视化 Python 打包 exe,这个神器绝了!
- 2025-05-03 案例详解pyinstaller将python程序打包为可执行文件exe
- 2025-05-03 Cocos 3.x 菜鸟一起玩:打包window程序
- 2025-05-03 怎么把 Python + Flet 开发的程序,打包为 exe ?这个方法很简单!
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)