python程序打包成可执行文件【入门篇】

python程序打包成可执行文件【入门篇】

提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论



前言

Python程序的运行必须安装有Python环境,而用户的个人电脑上又不可能安装Python运行环境,因此就要将Python 程序打包为可执行文件,就可以直接运行该程序。PyInstaller是一个用于将Python脚本打包成独立可执行文件的工具。它的原理是将Python脚本及其依赖的库、资源文件等打包成一个单独的可执行文件,使得在其他机器上运行时不需要安装Python解释器和相关库,即可直接运行。


一、命令行运行Python脚本时传入参数

1.argparse的用法

argparse是Python内置的一个用于命令项选项与参数解析的模块,在程序中定义好需要的参数,通过sys.argv将参数解析出来,并自动生成帮助和使用信息。

示例1:采用argparse从命令行获取用户信息。

import argparse
# 模块使用主要分三部分:
#  - 创建ArgumentParser()对象 
#  - 调用add_argument()方法添加参数 
#  - 使用parse_args()解析添加的参数
def main():
    parser = argparse.ArgumentParser(description="example of argparse")
    parser.add_argument('-n', '--name', default=' Li ')
    parser.add_argument('-a', '--age', default='20')
    parser.add_argument('-g', '--gender', default='male')
    args = parser.parse_args()
    print(args)
    name = args.name
    age = args.age
    gender = args.gender
    print('name:{},age:{},gender:{}'.format(name, age,gender))
if __name__ == '__main__':
    main()

在这里插入图片描述

2.sys.argv的用法

sys.argv用于python文件运行时获取命令行参数,以list形式存储,其中sys.argv[0]表示代码本身文件路径。

# sys.argv从命令行获取py文件的绝对路径
import sys
file_path = sys.argv[0]
print(file_path)

示例2:采用sys.argv从命令行获取用户信息。

import sys
name = sys.argv[1]
age = sys.argv[2]
gender = sys.argv[3]
print(name)
print(age)
print(gender)

在这里插入图片描述
或者更为简洁:

import sys
print(sys.argv[1:])

二、Windows创建新环境打包exe文件

创建一个纯净的、没有多余的第三方库和模块的小型Python环境,尽可能的少的库和模块要来打包exe可执行文件。

1.新建虚拟环境

# name 环境名、3.x Python的版本
conda create -n name python==3.x
# 查看安装环境目录
conda env list

# 激活新环境,environment_name 环境名
activate environment_name
# package_name 所需其他包名
# -i https://pypi.tuna.tsinghua.edu.cn/simple 镜像源的地址
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name
# 下载安装Pyinstaller模块
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Pyinstaller

2.打包成可执行文件

我们以argparse的用法的示例1作为示例新建XXX.py。

# 切换命令行的路径,file_path 文件绝对路径
cd file_path
# 只生成一个单个文件(只有一个exe文件)
Pyinstaller -F XXX.py

在当前路径新生成三个文件(build 文件夹、dist 文件夹和 spec文件)。

exe文件在dist文件夹里面。打包完之后,spec文件和 build 文件夹就可以删除了。
在这里插入图片描述执行exe文件:
在这里插入图片描述

三、Linux(Ubuntu)创建新环境打包可执行文件

1.新建虚拟环境

与Windows流程大同小异

# name 环境名、3.x Python的版本
conda create -n name python==3.x
# 查看安装环境目录
conda env list

# 激活新环境,environment_name 环境名
source activate environment_name
# package_name 所需其他包名
# -i https://pypi.tuna.tsinghua.edu.cn/simple 镜像源的地址
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name
# 下载安装Pyinstaller模块
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Pyinstaller

2.打包可执行文件

我们以argparse的用法的示例1作为示例新建XXX.py。

# 切换命令行的路径,file_path 文件绝对路径
cd file_path
# 只生成一个单个文件(只有一个可执行文件)
pyinstaller -F XXX.py
# 注意linux(ubuntu)下pyinstaller是全小写,否则报command not found的错误

在当前路径新生成三个文件(build 文件夹、dist 文件夹和 spec文件)。

可执行文件在dist文件夹里面。打包完之后,spec文件和 build 文件夹就可以删除了。

执行可执行文件:

总结

与其他的打包模块相比,使用Python的Pyinstaller模块进行打包的使用者最多,用起来简便,因此本文以 Pyinstaller模块来打包Python程序为大家提供一个入门参考。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值