- 一、Windows下python程序打包
- 1.1 环境搭建(利用Miniconda)
- 1.1.1 Miniconda的下载
- 1.1.2 Miniconda的安装
- 1.1.3 Miniconda初次相关设置及创建环境包
- 1.1.4 miniconda环境包中库的初次相关设置(需进入该环境)
- 1.2 开始打包(打包需进入该环境)
- 二、 Linux下python程序打包
- 2.1 环境搭建(利用Anaconda)
- 2.1.1 Anaconda的下载
- 2.1.2 Anaconda的安装
- 2.2 开始打包(打包需进入该环境)
1.1.2 Miniconda的安装清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
我选择的是(2022年5月27日21:49:12):Miniconda3-py39_4.12.0-Windows-x86_64.exe
1.1.3 Miniconda初次相关设置及创建环境包安装过程不多赘述,我这里安装到D盘:D:ProgramDataMiniconda3
打开miniconda:Anaconda Prompt (Miniconda3)
更换镜像源(一行一行执行)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
更新conda:
conda update conda
创建一个环境包,命名为PMPyQt:
conda create -n PMPyQt python=3.9
查看miniconda中所有环境包列表 (带*表示处于该环境中):
conda info --e
进入/退出 PMPyQt环境:
# 进入 conda activate PMPyQt # 退出 deactivate
(如果想) 删除PMPyQt环境:
conda remove -n PMPyQt --all1.1.4 miniconda环境包中库的初次相关设置(需进入该环境)
查看环境中库列表:
conda list
更新环境中所有库:
conda update --all
修改pip镜像(一行一行执行),并下载pip_search:
# 配置镜像源 pip config set global.index-url https://pypi.doubanio.com/simple/ # 配置信任主机名 pip config set global.trusted-host pypi.doubanio.com # 下载 pip_search pip install pip_search -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com
用pip_search搜索想安装的pyinstaller库 :
pip_search pyinstaller
安装pyinstaller库 (这里用pip安装,常规安装是:conda install <库名>):
pip install pyinstaller
(如果想) 卸载pyinstaller库 (这里用pip卸载,常规卸载是:conda remove <库名>):
pip uninstall pyinstaller1.2 开始打包(打包需进入该环境)
进入该环境,测试代码是打印当前时间并判断是否是工作日 (需引入datetime与chinese_calendar库):
conda activate PMPyQt # 安装所需库 pip install datetime chinesecalendar
测试源码如下:
#!/usr/bin/env python
# _*_ coding: utf-8 _*_
# @Time : 2022/5/28 12:32
# @Author : PoetMilk
# @Version:V 1.0
# @File : main.py
# @desc :
import datetime
from chinese_calendar import is_workday
if __name__ == "__main__":
now_time = datetime.datetime.now()
str_is_work_time = "是休息日"
if is_workday(now_time):
str_is_work_time = "是工作日"
dics_weekdays = {1: '星期一', 2: '星期二', 3: '星期三', 4: '星期四', 5: '星期五', 6: '星期六', 7: '星期日'}
print("************************************")
print("* 打印当前时间 *")
print("************************************")
print("当前时间:", now_time.__format__('%Y-%m-%d'), dics_weekdays[now_time.weekday()+1])
print("是否是工作日:", str_is_work_time)
print("************************************")
input("按任意键退出...")
我们进入项目文件夹 (这里我放桌面了):
cd C:UsersAdministratorDesktopPMPyQt_demo_pack
打包!!如果想不显示终端界面(黑色的那个),需要加上在-F后加上-w参数 (别忘了空格):
# -F(单个可执行文件) # -n 程序名 # -w(去掉控制台窗口,这在GUI界面时非常有用) # -i 图标.ico # -p 表示自定义需要加载的类路径(一般情况下用不到) pyinstaller -F main.py -n curr_time -i dog.ico
二、 Linux下python程序打包 2.1 环境搭建(利用Anaconda) 2.1.1 Anaconda的下载生成的文件位置,及其运行代码效果:
2.1.2 Anaconda的安装因为miniconda我在Linux(我用的kali) 上安装有点问题,这里我选择安装Anaconda
清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
我选择的是(2022年5月28日15:02:12):Anaconda3-2022.05-Linux-x86_64.sh
安装anaconda,安装步骤一步步往下 (这里注意有2个地方都输入yes),安装好了之后重新打开终端窗口:
sh Anaconda3-2022.05-Linux-x86_64.sh
2.2 开始打包(打包需进入该环境)后面的操作就和Windows一样了:点击跳转
同样的,进入该环境,测试代码是打印当前时间并判断是否是工作日 (需引入datetime与chinese_calendar库):
conda activate PMPyQt # 安装所需库 pip install datetime pip install chinesecalendar
测试源码和上面window一样
我们进入项目文件夹:
cd PMPyQt_demo_pack
打包可能会出TypeError: an integer is required (got type bytes)的错误,我们先运行以下命令:
pip install --upgrade pip pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz
打包!!不知道为什么设置图标没用:
# -F(单个可执行文件) # -n 程序名 # -w(去掉控制台窗口,这在GUI界面时非常有用) # -i 图标.ico # -p 表示自定义需要加载的类路径(一般情况下用不到) pyinstaller -F main.py -n curr_time
生成的文件位置,及其运行代码效果:



