标签: python-poetry

诗歌试图从私人存储库安装所有内容

我正在尝试从 pypi 和私人存储库安装依赖项,这是我的原始版本pyproject.toml,遵循官方文档

\n
[tool.poetry]\nname = "project_name"\nversion = "0.1.0"\ndescription = ""\nauthors = ["Me <me@gmyself.com>"]\n\n[[tool.poetry.source]]\nname = "private"\nurl = "https://url/to/private_repo"\nsecondary = true\n\n[tool.poetry.dependencies]\npython = "^3.9"\nFlask = "^2.1.2"\nprivate_package = "*"\n\n[tool.poetry.dev-dependencies]\nblack = "^22.6.0"\nmypy = "^0.961\n\n[build-system]\nrequires = ["poetry-core>=1.0.0"]\nbuild-backend = "poetry.core.masonry.api"\n
Run Code Online (Sandbox Code Playgroud)\n

然而,运行poetry install诗歌会导致尝试安装私人存储库中的每个要求,至少这是我从生成的回溯中了解到的:

\n
\xe2\x9d\xaf poetry install\nUpdating dependencies\nResolving dependencies... (0.2s)\n\n  RepositoryError\n\n  403 Client Error: Forbidden for url: https://url/to/private_repo/mypy/\n\n  at ~/.local/lib/python3.9/site-packages/poetry/repositories/legacy_repository.py:393 in _get\n      389\xe2\x94\x82             if response.status_code == 404:\n      390\xe2\x94\x82                 return\n      391\xe2\x94\x82             response.raise_for_status()\n      392\xe2\x94\x82         except requests.HTTPError as e:\n    \xe2\x86\x92 393\xe2\x94\x82             raise RepositoryError(e)\n …
Run Code Online (Sandbox Code Playgroud)

python python-poetry

13
推荐指数
1
解决办法
3万
查看次数

如何将诗歌构建的Python包添加到另一个带有诗歌的Python项目中?

我正在研究两个项目,我们称它们为Project AProject B

Project B需要一些模块Project A,所以我做了一个poetry buildon Project Apip install dist/blabla.whl当我手动对诗歌生成的构建执行 a 时,我能够访问该模块Project A

但是当我做 a 时poetry add project-a git+ssh://git@gitlab.blabla.co/nubela/project-a.git#develop,它说

找不到包项目-a的匹配版本

当然,我理解,因为project-a它不是经典地与 setup.py 之类的东西一起打包的。那么我如何在poetry add <git-repo-uri>不涉及自托管 pypi 实例的情况下执行?

我可以将 .whl 文件推送到项目 git 存储库,这有帮助吗?

python python-poetry

12
推荐指数
2
解决办法
3万
查看次数

使用 tar.gz 的 pip 安装没有名为“Cython”的模块

我使用 Poetry 为我的示例包(https://github.com/iamishalkin/cyrtd)构建 tar.gz 和 whl 文件,然后尝试在 pipenv 环境中安装包。tar.gz 安装失败,这是一段日志:

$ poetry build
...
$ pip install dist/cyrtd-0.1.0.tar.gz
Processing c:\work2\cyrtd\dist\cyrtd-0.1.0.tar.gz
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Requirement already satisfied: cython<0.30.0,>=0.29.13 in c:\users\ivan.mishalkin\.virtualenvs\cyrtd-tpdvsw8x\lib\site-packages (from cyrtd==0.1.0) (0.29.15)
Building wheels for collected packages: cyrtd
  Building wheel for cyrtd (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
...
from Cython.Build import cythonize
  ModuleNotFoundError: No module named 'Cython' …
Run Code Online (Sandbox Code Playgroud)

python cython pipenv python-poetry

12
推荐指数
1
解决办法
1122
查看次数

Poetry 在 C:\ 中找不到 pyproject.toml 文件

我正在运行 Python 3.9.1,并且我已成功安装诗歌版本 1.1.4。当我尝试添加请求 ( $ poetry add requests) 时,我面临

RuntimeError
Poetry could not find a pyproject.toml file in C:\...
Run Code Online (Sandbox Code Playgroud)

我刚刚安装了它,我不确定我是否错过了一些东西。有人可以建议吗?

python python-poetry

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

将早期版本的 python 与诗歌结合使用

设置项目并使用尚未作为系统范围二进制文件安装的早期版本的 Python 的过程是什么?

\n

理想情况下,poetry add <package>应该安装到以前版本的 python,并且poetry shell应该打开一个具有正确版本的虚拟环境。

\n

我努力了:

\n
mkdir myproj\ncd myproj\n\neval "$(pyenv init -)"\npyenv install 3.8.9\npyenv local 3.8.9\n\npoetry init --no-interaction --python="3.8.9"\npoetry env use 3.8.9\npoetry add numpy\n\necho \'\nimport sys\nprint(sys.version)\n\nimport numpy\nprint(numpy.__version__)\n\' > main.py\n\npoetry shell\neval "$(pyenv init -)"\npython main.py\n
Run Code Online (Sandbox Code Playgroud)\n

但这给出了:

\n
3.8.9 (default, May  1 2021, 22:43:00)\n[GCC 10.2.0]\nTraceback (most recent call last):\n  File "main.py", line 5, in <module>\n    import numpy\nModuleNotFoundError: No module named \'numpy\'\n
Run Code Online (Sandbox Code Playgroud)\n

...表明python运行的版本正确(如预期),但该包未安装到 python 3.8.9。的确:

\n
\xce\xbb ls "$(poetry …
Run Code Online (Sandbox Code Playgroud)

python pyenv python-poetry

12
推荐指数
1
解决办法
1699
查看次数

当我尝试执行“poetry add”时,我没有得到模块名称 cleo

我已经完全卸载并重新安装了诗歌,使用:

POETRY_UNINSTALL=1 bash -c 'curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python'
Run Code Online (Sandbox Code Playgroud)

然后我使用以下命令重新安装它:

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
Run Code Online (Sandbox Code Playgroud)

但它并没有解决问题。然后我 # 进行诗歌配置

export PATH="$HOME/.poetry/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

django python-poetry

12
推荐指数
3
解决办法
2万
查看次数

诗歌突然出现“TooManyIndi​​rects”错误

我有一个 pyproject.toml:

...
[[tool.poetry.source]]

name = "REPO_NAME"
url = "https://gitlab.com/SOME_ADDRESS"
secondary = true
Run Code Online (Sandbox Code Playgroud)

poetry install当尝试使用诗歌( / )安装项目时,poetry update我得到:

更新依赖关系 解决依赖关系... (14.3s)

重定向过多

超过 30 次重定向。

python-poetry

12
推荐指数
2
解决办法
1480
查看次数

Docker中Poetry安装私有包突然启动失败

关于

\n

最小工作示例:https://gitlab.com/hynek.blaha/debug-docker-poetry/-/tree/master

\n

我一直在使用 Poetry 和来自内部 PyPI 注册表的 Python 包构建 Docker 镜像。由于我们的项目位于私有 GitLab 存储库中,并且内部包不是绝密的,因此我们将诗歌凭证直接存储在pyproject.toml.

\n

2022 年 8 月 24 日,我们所有的 Docker 构建在安装内部包时开始失败:

\n
\xe2\x80\xa2 Installing til-bigquery (0.3.4)\n\n  HTTPError\n\n  401 Client Error: Unauthorized for url: https://gitlab.com/api/v4/projects/38869805/packages/pypi/files/7a4731d831d4b37262481002271e359f96017570e9480ef16c89489e0b41252f/til_bigquery-0.3.4-py3-none-any.whl#sha256=7a4731d831d4b37262481002271e359f96017570e9480ef16c89489e0b41252f\n\n  at /usr/local/lib/python3.9/site-packages/requests/models.py:1021 in raise_for_status\n      1017\xe2\x94\x82                 f"{self.status_code} Server Error: {reason} for url: {self.url}"\n      1018\xe2\x94\x82             )\n      1019\xe2\x94\x82 \n      1020\xe2\x94\x82         if http_error_msg:\n    \xe2\x86\x92 1021\xe2\x94\x82             raise HTTPError(http_error_msg, response=self)\n      1022\xe2\x94\x82 \n      1023\xe2\x94\x82     def close(self):\n      1024\xe2\x94\x82         \n      1025\xe2\x94\x82         called the underlying ``raw`` object must not …
Run Code Online (Sandbox Code Playgroud)

pypi docker python-poetry

11
推荐指数
1
解决办法
4057
查看次数

Poetry从Python 3.10.x升级到Python 3.11.0的项目

我有一个使用 Python 3.10.2 的基于诗歌的 Django 项目。我想升级项目以使用Python 3.11.0。

这样做的正确方法是什么?

我应该核对诗歌.lock 然后将 pyproject.toml 更新为

[tool.poetry.dependencies]
python = "^3.11"
Run Code Online (Sandbox Code Playgroud)

轻松升级到较新版本的 Python 的能力似乎应该是一个核心功能,但我没有看到自动执行该过程的命令。

python upgrade python-poetry

11
推荐指数
1
解决办法
1万
查看次数

诗歌包括轮子中的附加数据文件

我有一个简单的 python 包,我们称之为my_package

\n

它的文件位于src/python/my_package.\n此外,存储库根目录中有一个data文件夹,该文件夹应包含在my_package.

\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 python\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 my_package\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 data\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 stuff.json\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pyproject.toml\n
Run Code Online (Sandbox Code Playgroud)\n

我没有找到任何方法来配置诗歌,它data以正确的方式包含附加文件夹。

\n

这是我的pyproject.toml

\n
[tool.poetry]\nname = "my-package"\nversion = "2.10.0" \n\npackages = [\n    { include = "my_package", from = "src/python" }\n]\n\n# This does not work! It puts the `data` folder into site-packages/data instead of site-packages/my_package/data\ninclude = [\n    { path = "data", format = ["sdist", "wheel"] }\n]\n\n[build-system]\nrequires = ["poetry-core>=1.0.0"]\nbuild-backend = "poetry.core.masonry.api"\n
Run Code Online (Sandbox Code Playgroud)\n

我还使用预构建脚本找到了以下解决方案:\n https://github.com/python-poetry/poetry/issues/5539#issuecomment-1126818974 …

python python-wheel python-poetry

11
推荐指数
0
解决办法
3708
查看次数

标签 统计

python-poetry ×10

python ×7

cython ×1

django ×1

docker ×1

pipenv ×1

pyenv ×1

pypi ×1

python-wheel ×1

upgrade ×1