内部 python 脚本的应用程序处理程序
项目描述
世界树
概念
yggdrasil 库旨在通过定义应用程序来促进将脚本分发到生产环境中。从概念上讲,每个应用程序定义为:
- 名称:描述要安装/卸载的应用程序
- 源代码:必须访问的项目的源代码
- 入口点:项目的入口点
- 虚拟环境:运行应用程序的环境
通过其 API,yggdrasil 为您提供了在多个虚拟环境之间无缝切换的方法,同时可以轻松地从命令行调用您的自制脚本。
入门
在使用该工具创建应用程序之前,yggdrasil 需要进行初始设置。首先,安装包(来自 PyPI 或 Github):
pip install ud-yggdrasil
pip install git+https://www.github.com/um-ed/ud-yggdrasil.git
然后,创建基本文件夹结构以将 yggdrasil 安装到:
yggdrasil seed
如果路径设置为环境变量(YGGDRASIL_ROOT),文件夹结构将在那里创建。如果没有,它将在用户的Documents文件夹下创建。为了使每个应用程序都可以从命令行轻松调用,还建议将 Yggdrasil\Scripts完整路径添加到Path环境变量中。
就是这样,您已准备好创建您的第一个应用程序!
申请要求
应用程序的定义是通过 settings.yaml 文件(在 Yggdrasil\settings 下)完成的。该库提供了安装仅存储在本地的应用程序(以下称为本地应用程序)或在线托管在 git 存储库中(以下称为 Web 应用程序)的可能性。运行种子时会自动创建设置文件,已经预先填充了本地和网络设置的虚拟示例。如果有疑问/在本地进行了更改,也可以在此存储库 (yggdrasil\data\template_settings.yaml) 下找到它。为了能够创建应用程序,核心项目还需要定义:
- 包含项目依赖项的 requirements.txt 文件,位于包/项目目录的源代码中
- 对于基于 Web 的应用程序,项目需要在 setup.py 文件中定义入口点
Yggdrasil 命令
Yggdrasil 可以从 shell 或 python 调用。从外壳:
yggdrasil seed # Creates a seed for yggdrasil
yggdrasil create app_name # Installs an app for the given name
yggdrasil remove app_name # Uninstalls an app for the given name
yggdrasil show app_name # Show information related to the app name provided
(进一步的参数化可用,详细信息使用 -h)
从蟒蛇:
import yggdrasil as ygg
ygg.seed() # Creates a seed for yggdrasil
ygg.create("app_name") # Installs an app for the given name
ygg.remove("app_name") # Uninstalls an app for the given name
ygg.show("app_name") # Show information related to the app name provided
通过 yggdrasil 安装应用程序后(并假设 yggdrasil 脚本的路径已添加到Path环境变量中),您将能够直接从命令行调用项目的入口点:
app_name
欢迎任何反馈!
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
ud_yggdrasil -2.0.0-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 7d0b117ee0a9e67dee59322a10ce9cf500dcd72ed5050ff0fe822a8012a66f04 |
|
| MD5 | a75a1c2a002b3926df68be8045cc72b7 |
|
| 布莱克2-256 | 93679d542789ed3a517815c6c30042eb8a9806d5bebdeaca0918b80215e40043 |