如何分享含第三方依赖包的Python项目?免手动安装依赖方法
无需手动安装依赖的Python脚本打包方案
下面是几种适合分享给非技术同事的打包方法,操作简单,用户不需要处理任何依赖安装:
1. 用PyInstaller生成单文件可执行程序
这是最省心的方案,直接把脚本和所有依赖打包成一个独立的可执行文件:
- 先在你的环境安装PyInstaller:
pip install pyinstaller - 打开命令行,进入脚本所在的文件夹,执行:
pyinstaller --onefile your_script.py - 执行完成后,在当前目录的
dist文件夹里,会生成一个和脚本同名的可执行文件(Windows是.exe,Mac是.app,Linux是无后缀的可执行程序) - 直接把这个文件发给同事,他们双击就能运行,不需要装Python或任何依赖
- 注意:如果脚本用到了外部资源(比如图片、配置文件),需要用
--add-data参数打包,比如Windows下:pyinstaller --onefile --add-data "config.ini;." your_script.py,Mac/Linux下把分号换成冒号:pyinstaller --onefile --add-data "config.ini:." your_script.py
2. 用cx_Freeze生成可执行文件夹
适合脚本有较多外部资源的场景:
- 安装cx_Freeze:
pip install cx_Freeze - 在脚本同目录下创建
setup.py文件,内容如下:
import sys from cx_Freeze import setup, Executable # 定义可执行文件配置,Windows下可以去掉控制台窗口 target = Executable( script="your_script.py", base="Win32GUI" if sys.platform == "win32" else None ) setup( name="你的应用名称", version="1.0", description="应用描述", executables=[target] )
- 执行命令:
python setup.py build - 生成的文件在
build文件夹里,把整个文件夹发给同事,找到里面的可执行文件双击运行即可
3. 用Pipenv/Poetry简化依赖安装(适合同事愿意装Python的情况)
如果同事电脑上已经有Python,只是不想手动装依赖,可以用虚拟环境工具自动处理:
- Pipenv方案:
- 你这边先初始化环境:
pipenv install(会生成Pipfile和Pipfile.lock文件) - 把脚本、
Pipfile、Pipfile.lock一起发给同事 - 让他们执行:
pipenv run python your_script.py,Pipenv会自动安装所有需要的依赖并运行脚本
- 你这边先初始化环境:
- Poetry方案:
- 初始化项目:
poetry new your_project,把脚本放进项目文件夹 - 添加依赖:
poetry add 依赖包名称(会生成pyproject.toml和poetry.lock) - 把整个项目文件夹发给同事,让他们执行:
poetry run python your_script.py即可
- 初始化项目:
内容的提问来源于stack exchange,提问作者Offswitch
相关产品推荐
相关产品推荐

