问题标签 [pip-tools]

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 回答
1080 浏览

python - pip 错误:pip-compile 不支持将 URL 作为包

我正在使用pipwith pip-compile(以这种方式安装pip install pip-tools:)

pip-compile -v运行命令时出现以下错误:

pip-compile 不支持将 URL 作为包,除非它们是可编辑的。也许添加 -e 选项?(约束是:aldryn-django==1.8.7.0 来自 https://control.aldyn.com/api/v1/apps/serve/aldryn-django/1.8.7.0/592213b1-e515-4447-8ef0-850713571a42/aldryn -django-1.8.7.0.tar.gz#egg=aldryn-django==1.8.7.0 (来自-r requirements.in(第2行))

我已尝试使用该-e选项,但这会导致另一个问题。

pip.exceptions.InstallationError:https://control.aldryn.com/api/v1/apps/serve/aldryn-django/1.8.7.0/592213b1-e515-4447-8ef0-850713571a42/aldryn-django-1.8.7.0。 tar.gz#egg=aldryn-django==1.8.7.0应该是本地项目的路径或以 svn+、git+、hg+ 或 bzr+ 开头的 VCS url

以下是我requirements.in文件的简短摘录:

我正在使用基于python:2.7-slim图像的 Docker 容器。

requirements.in另一个类似的 docker 容器上运行良好。

不知道为什么在我的,pip-compile不起作用...

你有什么想法吗?

0 投票
1 回答
134 浏览

python - 为什么 pip-tools 无法推断出正确的版本?

我尝试使用 pip-compile 来锁定我的 python 依赖项,所以我写了一个非常简单的requirements.txt.

但是,当我编译它时,我收到以下消息:

困扰我的是,future-0.16.0 显然在版本列表中,而future==0.15.2 在任何其他项目的传递依赖项中都不存在!那么为什么 pip-compile 无法得到这个矛盾的信息呢?

0 投票
1 回答
78 浏览

python - python 3 的 pip-tools 中的 depcache-py3.5.json 问题

在运行以下命令时

我收到以下错误

我检查了我的 /home/somansh/.cache/pip-tools/ 文件夹,它只有 depcache-py2.7.json

如何安装 3.5 所需的版本

0 投票
1 回答
2887 浏览

python - 决定是否在 pip-tools 中允许不安全的包版本的正确方法是什么?

我正在尝试使用 pip-tools 来管理 venv(如python -m venv .venv)环境。新激活的环境最初只有 pip-tools:

我创建了一个requirements/main.in文件:

运行pip-compile --upgrade --build-isolation --generate-hashes --output-file requirements/main.txt requirements/main.in给了我这个警告:

如警告,pip install --upgrade -r requirements/main.txt拒绝操作:

所以现在我的困境是:我应该使用--allow-unsafe吗?这样做有什么影响?我尝试了一下,发现生成的需求文件已将其固定到该特定版本,kiwisolver(我猜是 numpy/matplotlib 的传递依赖)需要对吗?但为什么这是不安全的?

如果我理解正确,我可以尽可能长时间地保留生成的需求,但是——每当我决定更新——我可以重新运行 pip-compile 并创建一个新的需求文件,它可能会有一个没有这个限制的新kiwisolver,对吧?

pip-tools 要求我做出这个决定的原因是什么?为什么这可能不安全?有哪些示例不想使用 --allow-unsafe?

一个相关的问题是:我可以只为 setuptools 指定“--allow-unsafe”吗?它似乎是 pip-compile 的一个参数,这是一种全有或全无的方法。我可以将特定的标记为“可以固定”吗?如果出现其他情况,我想再次收到警告,以便我评估是否可以?

0 投票
1 回答
474 浏览

python - 是否可以用最旧的依赖项 pip 编译 requirements.txt ?

我使用pip-compilefrompip-tools创建一个requirements.txt具有所有依赖项(包括所有传递的依赖项),满足所有要求并且是一致的。这对于我通过 CI/CD 运行的应用程序来说很好。

requirements.txt对于库,我认为创建一个包含所有最旧依赖项的库是有意义的。这就是我想要运行测试的对象,因为我很可能依赖于更高版本并且我可能不知道它。

pip-compile 支持这个吗?

0 投票
2 回答
450 浏览

python - pip-tools 和/或新的解析器是否会阻止升级到破坏主要依赖项的子依赖项版本?

我正在使用 pip-tools 5.4.0、pip 20.3.1 和 python3。我查看了 pip-tools 源代码和关于新解析器的 pip 博客文章。我没有看到我的问题的明确答案。如果我运行:

如果我运行pip-compile --upgrade,pip-tools 中是否存在内部约束或新 pip 解析器中的依赖项检查会阻止子依赖项升级超出其约束,例如 mccabe 升级到 0.7.0?

0 投票
0 回答
125 浏览

python - 如何生成python pip依赖范围?

我正在开发一个 python 库,我们目前正在使用pip-tools它来固定依赖项。

例如一个基本的requirements.in

在此文件上运行pip-compile将生成requirements.txt类似以下内容(此处已简化):

我的问题是不建议为将在 pypi 上公开的包固定版本,因为最终用户对其他库缺乏灵活性。在这些情况下指定依赖范围似乎是一种常见的做法,例如

我的问题是,是否有任何方法可以自动生成这些依赖范围requirements.in?我想这应该相对容易使用现有的依赖解析工具来生成与所有库兼容的最小和最大版本。(任何没有指定任何版本的库都可以保持原样。)

我还没有找到任何可以执行此类操作的工具。其他库的维护人员是否手动执行此任务?我理解我上面描述的方法仍然需要对requirements.in没有交叉依赖关系的库进行一些手动干预,但在大多数情况下(当然在我的情况下),这应该是繁重的工作。

0 投票
1 回答
82 浏览

python - pip-reqs compile 仅从多个 github zip 包中解析一个

我有一个 requirements.in 文件,它只安装指向 github zip URL 的包之一。

这就是我重现问题的方式。查看案例。我总是跑pip-reqs compile

好的,所以checkout-psp-client正确列出了。我在一个容器中运行它,但不确定 django 的东西来自哪里......让我们尝试添加下一个包。

没有checkout-psp-client了。有趣...让我们交换软件包。

现在它缺少了django-slick-reporting!显然顺序很重要。

我在这里想念什么?原始文件包含更多 PyPi 包和一个 github URL,它们被正确列出。添加第二个 github URL 后,它开始出现异常行为,这是我可以重现此行为的最小示例。看来我只能包含一个来自外部资源的包。没有给出任何错误,pip-reqs compile似乎没有详细的选项?

0 投票
0 回答
283 浏览

python - GitHub 操作工作流程中的 pip-sync 失败

我正在将 Python 项目转换为使用 pip-tools。我创建了新*.in文件,记录了我的项目要求,并在我的 中有以下目标Makefile

我有一个 virtualenv 设置,可以在我的本地成功运行这两个目标。但是,当dev-install目标在 GitHub 操作工作流程中运行时,我收到以下错误:

我的项目针对不同版本的 Python 运行测试矩阵,列出的罪魁祸首依赖项因执行测试的 Python 版本而异。例如,在 Python 3.6dataclasses中是 的依赖项,black并且被列为不固定于==. 看起来它与Pipfile 中的指定方式有关

这是pip-toolsGitHub Actions 或其他问题的问题吗?任何帮助是极大的赞赏!

0 投票
0 回答
43 浏览

pip-tools - 解析 base.py 时 pip-compile 失败

这是我第一次尝试使用pip-compilefrompip-tools

Django 项目的基本设置在main/settings/base.py. 我将此部分添加为pip-tools

pip-compile当我尝试使用它时会爆炸。这怎么可能解决?

更新 1:我在本节中遇到相同的错误:

更新 2:我制作了一个文件,requirements.in如下所示:

...并requirements.txt正确生成:

pip-tools解析是否损坏setup.py