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 查看哈希值)