Python程序打包 (Windows与Linux)

一、Windows下python程序打包

1.1 环境搭建(利用Miniconda)

1.1.1 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.2 Miniconda的安装

安装过程不多赘述,我这里安装到D盘:D:\ProgramData\Miniconda3

在这里插入图片描述

1.1.3 Miniconda初次相关设置及创建环境包

打开minicondaAnaconda 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 --all

1.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 pyinstaller

1.2 开始打包(打包需进入该环境)

进入该环境,测试代码是打印当前时间并判断是否是工作日 (需引入datetimechinese_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:\Users\Administrator\Desktop\PMPyQt_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的下载

因为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

2.1.2 Anaconda的安装

安装anaconda,安装步骤一步步往下 (这里注意有2个地方都输入yes),安装好了之后重新打开终端窗口

sh Anaconda3-2022.05-Linux-x86_64.sh

在这里插入图片描述在这里插入图片描述

后面的操作就和Windows一样了:点击跳转

2.2 开始打包(打包需进入该环境)

同样的,进入该环境,测试代码是打印当前时间并判断是否是工作日 (需引入datetimechinese_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

生成的文件位置,及其运行代码效果:

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值