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

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

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


文章目录

  • python程序打包成可执行文件【入门篇】
  • 前言
  • 一、命令行运行Python脚本时传入参数
    • 1.argparse的用法
    • 2.sys.argv的用法
  • 二、Windows创建新环境打包exe文件
    • 1.新建虚拟环境
    • 2.打包exe文件
  • 三、Linux(Ubuntu)创建新环境打包可执行文件
    • 1.新建虚拟环境
    • 2.打包可执行文件
  • 总结


前言

Python程序的运行必须安装有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

python程序打包成可执行文件【入门篇】_第1张图片

2.打包exe文件

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

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

在当前路径新生成三个文件(build 文件夹、dist 文件夹和 spec文件)。
python程序打包成可执行文件【入门篇】_第2张图片
exe文件在dist文件夹里面。打包完之后,spec文件和 build 文件夹就可以删除了。
python程序打包成可执行文件【入门篇】_第3张图片执行exe文件:
在这里插入图片描述

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

1.新建虚拟环境

与Windows流程大同小异

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

python程序打包成可执行文件【入门篇】_第4张图片

# 激活新环境,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

python程序打包成可执行文件【入门篇】_第5张图片

2.打包可执行文件

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

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

在当前路径新生成三个文件(build 文件夹、dist 文件夹和 spec文件)。
python程序打包成可执行文件【入门篇】_第6张图片
可执行文件在dist文件夹里面。打包完之后,spec文件和 build 文件夹就可以删除了。
python程序打包成可执行文件【入门篇】_第7张图片
执行可执行文件:
python程序打包成可执行文件【入门篇】_第8张图片

总结

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

你可能感兴趣的:(python程序打包,程序打包,python,windows)