python - 如何打包一个python脚本进行共享?
问题描述
我有兴趣将我的 Python 脚本手动打包成一个紧凑且可共享的应用程序。
作为一个自学成才、没有经验的半程序员,我即兴编写了以下.command -shell-script 并将其放在我程序中其余.py文件的文件夹中:
#!/usr/bin/env zsh
# pip3 install virtualenv
mydir=${0:a:h}
cd $mydir
python3 -m venv venv
source venv/bin/activate
pip3 install requests
./scripts/a1_v2.command
a1_v2.command是我的主要 Python 脚本。 requests是我的脚本目前唯一需要的模块,但我想添加更多。
有没有更好但也不复杂的方法来做到这一点?或者有没有我可以使用的轻量级模块?
更多背景信息: 我自学了 Python,为未来从事数据管理和处理研究的职业技能做准备。但在我目前的工作中,我注意到在不同平台之间传输有关我们拥有的设备的数据时还有改进的空间。因此,我编写了一个脚本,它读取设备的 ID,并向两个平台发送几个基于 Https 的 API 请求,解析返回的 .XML 数据,然后将所有设备汇总到一个 .XLS 列表中,准备好进行配置然后导入。
但在介绍完剧本后,我的老板让我分享那个节目。所以我尝试了不同的模块,这些模块宣传得很好。就像 Py2App 在安装时不断崩溃,而 PyInstaller 我不知道如何使它与目录一起工作。
所以我只是即兴创作了上面写的shell脚本。
我更感兴趣的是了解这些模块如何工作以及复制它们的原理,但仅限于我需要的扩展。
解决方案
你不必发明任何轮子......它被发明了。有一种打包库的标准方法。
关注https://packaging.python.org/tutorials/packaging-projects/
在该过程结束时,您将拥有一个任何 onc 都可以安装的库。
推荐阅读
- opencv - 我正在尝试制作 59 分钟和 59 秒的视频,但创建的视频总是持续时间较短
- swift - 如何在 SwiftUI 中将内容添加到收藏夹列表中?
- python - 如何使用 BeautifulSoup 循环链接并抓取新闻文章的内容
- powerapps - 使用下拉列表中的选定项目在 Power Apps 中显示项目
- reactjs - 如果可以被 3 整除,如何根据条件为列表中的特定项目分配不同的背景颜色?
- excel - 将工作表从另一个打开的工作簿复制到当前工作簿
- asp.net-core - ASP.NET Core 中的 HttpContext.TraceIdentifier 有多独特?
- sendgrid - Sendgrid:如何向电子邮件模板添加动态链接?
- css - 我有一个围绕 svg 旋转但不固定的 SVG
- r - 更改 boxpoints 的颜色并在 plotly boxplot 中添加分布曲线