gpt4 book ai didi

python - 使用 Poetry 自动从 Git 安装 Python 依赖项

转载 作者:行者123 更新时间:2023-12-01 06:49:56 24 4
gpt4 key购买 nike

我正在使用Poetry用于 Python 依赖管理,以及 PyCrate用于 ASN.1 编码/解码。

PyCrate 是从 GitHub 拉取的依赖项,一旦从 GitHub 拉取,就通过在 PyCrate 目录中运行安装文件来安装。

python setup.py install

如果可能的话,我想将安装步骤集成到我的 pyproject.toml 中。我当前的 pyproject.toml 包含 PyCrate,如下所示:


[tool.poetry.dependencies]
pycrate = {git = "https://github.com/P1sec/pycrate.git"}

这将从 GitHub 存储库中提取 PyCrate,但将其放入 Poetry 创建的 virtualenv 中的 src 文件夹中。

有什么方法可以在执行poetry install时自动运行安装脚本吗?我研究过使用 Poetry scripts ,但到目前为止还无法正确启动并运行。

我当前的设置涉及运行 poetry install,然后手动运行 PyCrate 的 setup.py install,但是我希望安装我的 poetry 执行完整的设置(如果可以的话)。

任何有关此问题的帮助将不胜感激。

最佳答案

当您运行 poetry install 时,Poetry 应该已经为您运行了 python setup.py install

Poetry 基本上只是运行 pip install package,它会下载包,并且基本上只是在包上运行 python setup.py install!

Under the hood, [pip] will run python setup.py install

来源:https://stackoverflow.com/a/15732821/10149169

但是,poetry 仅在隔离的虚拟环境中安装软件包,以避免污染计算机的其余部分。

要使用诗歌运行某些内容,您需要使用poetry run YOUR_COMMAND

来运行它

为了在虚拟环境中运行脚本,您必须运行poetry shell进入虚拟环境,或者poetry run YOUR_COMMAND。例如。要运行 Python 脚本,您应该执行 poetry run python your_python_script.py

示例

如果您有一个包含以下 pyproject.toml 文件的文件夹:

[tool.poetry]
name = "test"
version = "0.1.0"
description = ""
authors = ["Your Name <you@example.com>"]

[tool.poetry.dependencies]
python = "^3.6"
pycrate = {git = "https://github.com/P1sec/pycrate.git"}

[tool.poetry.dev-dependencies]

[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"

运行poetry install后,您可以通过运行poetry run SCRIPT_NAME来访问所有pyrcrate脚本:

# works because pycrate_showmedia.py was installed with poetry install
me@computer:~/example-project$ poetry run poetry run pycrate_showmedia.py
usage: pycrate_showmedia.py [-h] [-bl BL] [-wt] input
pycrate_showmedia.py: error: the following arguments are required: input

如果您有一个导入 pycrate 库的 Python 文件,则还需要使用 poetry run 运行它:

me@computer:~/example-project$ cat test.py 
import pycrate_core
print(pycrate_core.__version__)
me@computer:~/example-project$ poetry run python test.py

关于python - 使用 Poetry 自动从 Git 安装 Python 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59067263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com