栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python程序打包 (Windows与Linux)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python程序打包 (Windows与Linux)

文章目录
  • 一、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 开始打包(打包需进入该环境)

一、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:ProgramDataMiniconda3

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

打开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 --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 开始打包(打包需进入该环境)

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

因为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 开始打包(打包需进入该环境)

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/935433.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号