标签: python-poetry

诗歌添加火炬出现错误:无法找到 nvidia-cudnn-cu11 的安装候选

在 mac m1 蒙特利上运行

\n

在干净的环境中安装带有诗歌的火炬会给我带来以下运行时错误:

\n
\xe2\x9c\x97 python --version    \nPython 3.8.13\n\n\xe2\x9c\x97 poetry --version\nPoetry (version 1.2.2)\n\n\xe2\x9c\x97 poetry add torch\nUsing version ^1.13.0 for torch\n\nUpdating dependencies\nResolving dependencies... (0.1s)\n\nPackage operations: 5 installs, 0 updates, 0 removals\n\n  \xe2\x80\xa2 Installing nvidia-cublas-cu11 (11.10.3.66): Pending...\n  \xe2\x80\xa2 Installing nvidia-cuda-nvrtc-cu11 (11.7.99): Failed\n\n  RuntimeError\n\n  \xe2\x80\xa2 Installing nvidia-cuda-nvrtc-cu11 (11.7.99): Failed\n\n  RuntimeError\n\n  \xe2\x80\xa2 Installing nvidia-cublas-cu11 (11.10.3.66): Failed\n  \xe2\x80\xa2 Installing nvidia-cuda-nvrtc-cu11 (11.7.99): Failed\n\n\n  \xe2\x80\xa2 Installing nvidia-cudnn-cu11 (8.5.0.96): Failed\n\n  RuntimeError\n\n  Unable to find installation candidates for nvidia-cudnn-cu11 (8.5.0.96)\n\n  at ~/Library/Application Support/pypoetry/venv/lib/python3.8/site-packages/poetry/installation/chooser.py:103 in choose_for\n       99\xe2\x94\x82 …
Run Code Online (Sandbox Code Playgroud)

torch python-poetry

6
推荐指数
1
解决办法
4208
查看次数

使用 Docker 和诗歌时在 VS Code 中选择 Python 解释器

我在 VS Code 中打开一个 monorepo 文件夹,其中顶部文件夹是不同的服务。其中一项服务是使用诗歌来安装依赖项的 python 服务。

我正在使用诗歌的in-project=true virtualenv设置,以便所有依赖项实际上都存储在./python-service/.venv.

monorepo 可以使用 docker-compose 文件在本地运行。因此,任何依赖项安装都是在容器上完成的。

VS Code 不会自动检测这个虚拟环境,但是手动设置时,会立即出错:

Linter 'flake8' is not installed. Please install it or select another linter".
Error: spawn /Users/me/dev/project/python-service/.venv/bin/python EACCES
Run Code Online (Sandbox Code Playgroud)

如果我查看该./python-service/.venv/bin/python文件,我可以看到它实际上是一个符号链接,指向的符号链接/usr/local/bin/python在我的计算机上不存在,仅在容器上存在。

由于 VS Code 在我的计算机上运行,​​而不是在容器上运行,因此它无法遵循此符号链接是有道理的。

我考虑过两种选择:

  1. 使用诗歌的always-copy virtualenv选项。由于某种原因,这实际上并没有复制python二进制文件(由其他人复制)。所以这实际上并不能解决这个问题。
  2. VS Code 的开发容器插件。虽然这在理论上可行,但必须为每个 python 服务打开一个新窗口似乎很麻烦。理想情况下,VS Code 能够根据需要使用适当的 venv。

配置诗歌/vscode/docker 以确保可以在 VS Code 中设置解释器的正确方法是什么?

python docker visual-studio-code python-poetry

6
推荐指数
1
解决办法
796
查看次数

诗歌安装ChefBuildError

Poetry 安装失败,并显示 ChefBuildError:后端操作失败:HookMissing('build_editable')

我的诗歌版本是1.4.2

python-3.x python-poetry

6
推荐指数
1
解决办法
8059
查看次数

Poetry add pkg 得到“HTTPResponse.__init__() 得到了意外的关键字参数‘strict’”

我使用 conda 使用 python 3.10.9 创建一个新环境。我使用 pip 安装了诗歌,在添加几个包后,该poetry add pkg命令不起作用并出现错误消息:

HTTPResponse.__init__() got an unexpected keyword argument 'strict'
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我用谷歌搜索了这个问题,但没有答案,如何解决?

让诗歌添加命令正常工作

python python-packaging python-poetry

6
推荐指数
1
解决办法
2090
查看次数

由于triton安装错误,Python Poetry无法添加openai-whisper

所以我尝试使用 openai-whisper。我正在使用诗歌作为我的环境和依赖管理器。但尝试下载时不断出现错误。我得到的错误是,安装 triton (2.0.0): 失败

\n

我尝试了典型的诗歌添加,这是错误

\n
poetry add openai-whisper \nUsing version ^20230314 for openai-whisper\n\n  \xe2\x80\xa2 Installing triton (2.0.0): Failed\n\n  RuntimeError\n\n  Unable to find installation candidates for triton (2.0.0)\n\n  at /usr/local/Cellar/poetry/1.4.2/libexec/lib/python3.11/site-packages/poetry/installation/chooser.py:109 in choose_for\n      105\xe2\x94\x82 \n      106\xe2\x94\x82             links.append(link)\n      107\xe2\x94\x82 \n      108\xe2\x94\x82         if not links:\n    \xe2\x86\x92 109\xe2\x94\x82             raise RuntimeError(f"Unable to find installation candidates for {package}")\n      110\xe2\x94\x82 \n      111\xe2\x94\x82         # Get the best link\n      112\xe2\x94\x82         chosen = max(links, key=lambda link: self._sort_key(package, link))\n
Run Code Online (Sandbox Code Playgroud)\n

python-3.x python-poetry openai-whisper

6
推荐指数
1
解决办法
1831
查看次数

如何在 pyproject.toml 中列出诗歌插件?

我已使用 手动添加了诗歌插件poetry self add xxx,但我没有看到 pyproject.toml 或诗歌.lock 中的任何行发生更改。我希望这个插件包含在开发环境中,因此需要在其他人设置环境时安装它。您可以将插件添加到--dev依赖项中吗?

python python-poetry

6
推荐指数
1
解决办法
460
查看次数

带有 Python Poetry 的安装后脚本

使用 Python setuptools 的安装后脚本

正是这个问题,但是使用 Poetry 而没有 Setuptools。

我想跑

print('Installation finished, doing other things...')
Run Code Online (Sandbox Code Playgroud)

当我的包安装时。使用 Setuptools,您可以只进行修改setup.py,但在 Poetry 中特别没有setup.py

我真正想做的是生成一个默认.mypackage_config文件并将其放在有用的地方。我不知道如何在没有任意代码的情况下执行此操作,但是 Poetry不允许安装任意代码。有没有办法做到这一点?

python python-poetry

5
推荐指数
1
解决办法
1841
查看次数

如何通过诗歌构建 C 扩展?

要构建一个由poetry我管理的 python 项目,我需要先构建 C 扩展(相当于python setup.py build)。poetry能够根据这个github 问题来做到这一点。但是对我来说pyproject.toml,在使用poetry build?

python python-c-api python-poetry

5
推荐指数
1
解决办法
1720
查看次数

在诗中,如何根据硬件指定对不同包版本的依赖

有没有办法如何使用 Poetry 为不同的硬件配置指定不同的 python 包版本?

例如,我有几种硬件配置(支持 cuda 10.1 和 cuda 10.0 的机器)。我应该如何根据这些(以及基于配置的不同包名)指定对版本不同的包的依赖。

不同情况需要配置的示例:

  • CUDA 10.1
    • mxnet-cu101 = 1.6.0
    • 火炬 = 1.5.0
  • CUDA 10.0
    • mxnet-cu100 = 1.5.1
    • 火炬 = 1.2.0

python python-3.x python-poetry

5
推荐指数
0
解决办法
94
查看次数

如何从 Poetry 运行 FastAPI 应用程序?

我有一个由诗歌构建的 fastapi 项目。我想在 pyproject.tom 中使用脚本部分运行应用程序,如下所示:

poetry run start
Run Code Online (Sandbox Code Playgroud)

该部分中的双引号内是什么?

[tool.poetry.scripts]
start = ""
Run Code Online (Sandbox Code Playgroud)

我尝试运行以下脚本。

import uvicorn
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def root():
    return {"message": "Hello World"}

def main():
    print("Hello World")
    uvicorn.run(app, host="0.0.0.0", port=8000, reload=True, workers=2)

if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

它停止应用程序并只显示这样的警告。

警告:您必须将应用程序作为导入字符串传递以启用“重新加载”或“工人”。

python-poetry fastapi uvicorn

5
推荐指数
3
解决办法
3798
查看次数