跳转到主要内容

Vendy 是将第三方包引入您项目的工具

项目描述

Vendy 是将第三方包引入您项目的工具。

免责声明

这不是官方支持的 Google 产品。

示例

在您的包根目录下的 pyproject.toml 文件中,定义目标目录(应与 pyproject.toml 文件在同一目录),以及要 vendored 的包

[tool.vendy]
target = 'my_project'
packages = [
    "sampleproject==1.2.0",
]

在命令行中

$ python -m vendy
[vendy] Using vendor dir: /private/tmp/my_project/my_project/_vendor
[vendy] Cleaning /private/tmp/my_project/my_project/_vendor
[vendy] Installing vendored libraries
Collecting sampleproject==1.3.0
  Using cached https://files.pythonhosted.org/packages/a1/fd/3564a5176430eac106c27eff4de50b58fc916f5083782062cea3141acfaa/sampleproject-1.3.0-py2.py3-none-any.whl
Installing collected packages: sampleproject
Successfully installed sampleproject-1.3.0
[vendy] Detected vendored libraries: bin, my_data, sample
[vendy] Rewriting all imports related to vendored libs
[vendy] Downloading licenses
Collecting sampleproject==1.3.0
  Using cached https://files.pythonhosted.org/packages/a6/aa/0090d487d204f5de30035c00f6c71b53ec7f613138d8653eebac50f47f45/sampleproject-1.3.0.tar.gz
  Saved ./my_project/_vendor/__tmp__/sampleproject-1.3.0.tar.gz
Successfully downloaded sampleproject
[vendy] Extracting sampleproject-1.3.0/LICENSE.txt into my_project/_vendor/sampleproject.LICENSE.txt
[vendy] Revendoring complete

结果

$ tree
.
├── my_project
│   ├── __init__.py
│   └── _vendor
│       ├── bin
│       │   └── sample
│       ├── my_data
│       │   └── data_file
│       ├── sample
│       │   ├── __init__.py
│       │   └── package_data.dat
│       └── sampleproject.LICENSE.txt
└── pyproject.toml

您可以像这样从 vendored 库中导入

-from sampleproject.foo import bar
+from myproject._vendor.sampleproject.foo import bar

项目详细信息


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分发

vendy-0.0.3.tar.gz (10.3 kB 查看哈希值)

上传时间: 源代码

构建分发

vendy-0.0.3-py3-none-any.whl (10.9 kB 查看哈希值)

上传于 Python 3

支持