发布Python程序
介绍三种方式来发布Python程序。
要打包的示例程序
hello.py:
import numpy as np
import os
print('Call Numpy\'s function:{}'.format(np.random.rand(2,3)))
if __name__ == '__main__' :
print('Hello Python!')
这里用到了第三方的库numpy.
打包前的准备
- 分析依赖:安装pipreqs
.\python -m pip install pipreqs
; 将路径定位到项目,即PythonLibs的上一层,该目录至少有一个主Python脚本文件,执行.\pipreqs ./
,等到requiremnets.txt生成完成; 把requirements.txt移动到PythonLibs目录, 在CMD中定位到该目录,执行.\python -m pip install -r requirements.txt
以安装到指定路径. 但requirements.txt中包含了很多基本包,也可以先按报错提示,单独安装所需要的软件包,在线安装.\python -m pip install jupyterlab -i
,离线安装.\python -m pip install ***.whl
。 - 在工程根目录里新建一个hello.bat,至此,工程目录应该为:
PythonPrj
|----hello.py:主程序源代码文件
|----hello.ico:应用图标
|----hello.bat:主程序运行脚本
|----PythonLibs-解压好的Python目录
|----numpy-复制过来的库包
|----python.exe: python解释器
|----python36.zip: python内置的库包,不要更改
|----...:其他文件
-
编译py文件:如果你不想给别人源码,可以把
.py
编译为.pyc
:python -m py_compile hello.py
,然后把 -
hello.bat的文件内容为:
:@echo off : Hide the Command, Only display the result, until it comes a @echo on
@echo off
.\PythonLibs\python.exe hello.pyc
pause
绿色版压缩包
本方法优缺点:
- 解压后手动点击运行.
- 可以嵌入你的工程,被直接调用.
步骤:直接压缩,发给别人就可以了,运行hello.bat
或运行.\PythonLibs\python.exe hello.pyc
即可.
绿色版安装包
本方法优缺点:
- 解压安装后自动运行.
- 可以嵌入你的工程,被直接调用.
步骤:
- 选中该文件夹下全部文件,右键添加到压缩文件....
- 勾选
创建自解压格式压缩文件
和锁定压缩文件
,压缩文件名为installer.exe
,压缩文件格式保持默认为RAR
格式. - 选择
高级
选项卡,点击自解压文件选项
. - 在自解压文件选项中设置
选项
,比如快捷方式,图标,是否设置密码等等.
发布为单个exe文件
本方法优缺点:
- 无法传递参数给程序。
- 方便快捷。
步骤:双击打开单文件制作_x64.exe
,依次设置:
- 源文件夹: 选择要打包的文件夹
- 保存位置: 自动跟随上面改变
- 参数: (默认空)
- 程序位数: (默认 32位/64位自适应)
- 压缩方式:(默认 7z)
- 压缩级别:(默认 极限压缩)
- 运行:x86:选择
hello.bat
- 运行:x64:选择
hello.bat
- 勾选快捷方式:弹出页面填写名称,运行参数,图标,然后点击
新增
按钮,保存。
- 图标文件:选择
hello.ico
- 在cmd中可以直接运行该程序.
本文工程:
链接:https://pan.baidu.com/s/1UjRN2Pbmh8vA76tBdlfluQ
提取码:rtuh