问题标签 [python-poetry]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6139 浏览

python - 为什么 PIP 将下划线转换为破折号

我正在尝试安装一个 Pyramid 应用程序——比如说test_app。在虚拟环境中,它被安装为test-app(pip freeze 输出显示它test-app==0.0)。

因此,我无法导入包。

我应该如何解决这个问题?

更多信息: http: //mail.python.org/pipermail/distutils-sig/2011-August/017935.html

我正在使用 pip 版本 1.3.1

设置.py:

更新:

总结迄今为止的发现:

  • pip 将包名称报告为 test-app 是正常的。
  • 鸡蛋链接指向您的虚拟环境根目录是不正常的。
  • 但是 .egg-info 文件是在您的虚拟环境根目录中创建的这一事实也表明使用该目录作为 egg 根目录进行开发。

2021 年更新

我现在已经开始在我所有的新 Python 项目中使用Poetry而不是 pip。它适用于普通项目和 Jupyter 笔记本。凭借其更好的包管理开发人员体验,对于上述示例,我所要做的就是

我在规范文件中定义的脚本在哪里xyz(类似于package.jsonfor npm)。我将能够像所有其他包一样导入我自己的包。

0 投票
11 回答
89464 浏览

python - 将 Python 诗歌与 Docker 集成

你能给我一个例子Dockerfile,我可以在其中安装我需要的所有软件包,poetry.lockpyproject.tomlDocker 安装到我的图像/容器中吗?

0 投票
1 回答
13816 浏览

python - Python 诗歌的依赖版本语法

Poetry项目是 Python 的依赖管理系统。它使用新的pyproject.toml文件作为其配置文件。

Poetry 工具支持几种不同的方式来指定允许的依赖版本。诗歌依赖的版本说明符的语法是什么?

0 投票
1 回答
136 浏览

python - vscode 中有什么方法可以将命令“pip install”映射到“poetry add”?

我正在尝试使用python-poetry作为我的 Python 项目的依赖项管理器。我更喜欢使用 VSCode 进行开发。但是,vscode还不支持诗歌,这意味着通过 vscode 安装的任何包都是使用 pip 安装的。

我想知道我们是否可以调整 vscode 设置以映射pip installpoetry add通过诗歌安装包?

0 投票
1 回答
3152 浏览

python - 诗歌管理python包CLI

我正在使用 Poetry 开发一个 Python 包,其结构如下:

所有的包代码都在 packagename.py 中,它是在 .py 文件中导入的__init__.py

我想添加一个 CLI,我的目标是在命令行中执行以下命令:

为此,我使用了 Python 的 click 包,并在<packagefunction>里面写了packagename.py

目前,我已将入口点添加到诗歌配置文件中:

并运行:

完美执行。

但是,我知道这不是正确的方法,我希望 CLI 使用上面显示的命令执行。

0 投票
2 回答
15260 浏览

python - 从 Artifactory 安装包并从 PyPI 安装依赖项

我有一个包,我试图通过运行以下命令从 Artifactory 安装

软件包下载正常。但是,在查找依赖项时会引发异常,因为我在 Artifactory 中没有 PyPI 远程存储库。

是否可以将 pip 指向 PyPI 以获取特定的依赖关系?

我正在使用 apyproject.toml来存储需求,因为我正在使用诗歌顶部句柄依赖项并构建包。

0 投票
1 回答
530 浏览

python - 如何使用 Tox 和 Poetry 在 CircleCI 中设置多个解释器?

我正在为 Django 设置一个可重用的包。我使用 Poetry 作为包管理器,我使用 tox 跨多个 python 环境进行测试。但是,我不断收到关于 CircleCI 的以下错误:

我找不到任何关于如何解决这个问题的报告,并且我在 CircleCI 中看到了不同的 Django 包项目,但是它们在构建环境的方法上有所不同。

我的 circle.yml 文件:

我的 tox.ini 文件:

我的 pyproject.toml 文件:

0 投票
3 回答
2912 浏览

python - 如何使用 Poetry 发布到 Azure Devops PyPI 提要?

我正在尝试设置 Azure Devops 以使用 Poetry 发布到 PyPI 提要。

我知道 Twine 身份验证和将凭据存储到 Azure Key Vault。但是有没有更直接的方法呢?像这样的东西:

0 投票
1 回答
1696 浏览

python - 我需要验证poetry.lock 文件吗?

我在我的构建链中使用该poetry.lock文件作为真相的来源,所以我想确保它始终可靠。或者换句话说,鉴于我的依赖项都没有发布新版本,添加和删除依赖项会在锁定文件中累积不必要的工件吗?

特别是,在删除依赖项后,我有时会删除锁定文件并重新生成它poetry lock作为一种警示措施,但注意到结果始终与我刚刚删除的结果相同。这仅仅是偶然,还是有保证的行为?

0 投票
1 回答
189 浏览

python - python中的部分依赖管理

我正在管理一个相当大的 python 项目,它有很多依赖项,旨在在TensorFlow docker 容器中运行。定义要在生产中安装哪些依赖项的常用方法是通过PipenvPoetry等工具生成的锁定文件。创建这样的锁定文件时,您通常指定所有python依赖项,以确保包之间没有冲突。但由于 TensorFlow docker 容器预装了 TensorFlow 及其所有依赖项,我真的希望将这些包从我的锁定文件中排除,以避免重复安装。但是,我仍然希望我的依赖项管理工具在解决锁定文件的依赖项时考虑到某个版本的 TensorFlow。

有没有办法在不将它们包含在锁定文件中的情况下生成用于说明环境中预安装包的锁定文件?