标签: python-poetry

在 Dockerfile 中仅安装 PyTorch CPU

我对Docker和容器化相当陌生。我想减少my_proj生产中 docker 容器的大小。

我更喜欢通过Poetry.

如何在 a 中指定仅使用 CPUPyTorchDockerfile

要通过以下方式做到这一点。bash终端,它将是:

poetry add pytorch-cpu torchvision-cpu -c pytorch
Run Code Online (Sandbox Code Playgroud)

(或者conda install...)


我现有的Dockerfile

FROM python:3.7-slim as base
RUN apt-get update -y \
    && apt-get -y --no-install-recommends install curl wget\
    && rm -rf /var/lib/apt/lists/* 
ENV ROOT /home/worker/python/my_proj
WORKDIR $ROOT

ARG ATLASSIAN_TOKEN
ARG POETRY_HTTP_BASIC_AZURE_PASSWORD
ARG ACCESS_KEY
ENV AWS_ACCESS_KEY_ID=$ACCESS_KEY
ARG SECRET_KEY
ENV AWS_SECRET_ACCESS_KEY=$SECRET_KEY
ARG REPO
ENV REPO_URL=$REPO
ENV PYPIRC_PATH=$ROOT/.pypirc

ENV \
    PYTHONFAULTHANDLER=1 \ …
Run Code Online (Sandbox Code Playgroud)

python-3.x docker dockerfile pytorch python-poetry

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

`poetry run black myscript.py` 和 `black myscript.py` 有什么区别?

基于诗歌文档

同样,如果您有命令行工具,例如pytestblack您可以使用以下命令运行它们poetry run pytest

使用黑色的建议方法是:

poetry run black myscript.py
Run Code Online (Sandbox Code Playgroud)

但是,如果我只使用,我没有注意到行为有任何差异

black myscript.py
Run Code Online (Sandbox Code Playgroud)

这两种方法有什么区别?

python python-black python-poetry

8
推荐指数
1
解决办法
5581
查看次数

Poetry 未使用推荐的安装程序安装。无法自动更新

如何升级到最新版本?

\n

规格:

\n
    \n
  • Windows 10,
  • \n
  • Visual Studio 代码,
  • \n
  • Ubuntu 狂欢。
  • \n
\n
\n

当前版本:

\n
me@PF2DCSXD:/mnt/c/Users/user/Documents/GitHub/workers-python/workers/composite_key/compositekey/tests$ python3 --version\nPython 3.8.10\n
Run Code Online (Sandbox Code Playgroud)\n

尝试更新 | poetry self update:

\n
me@PF2DCSXD:/mnt/c/Users/user/Documents/GitHub/workers-python/workers/composite_key/compositekey/tests$ poetry self update\n\n  RuntimeError\n\n  Poetry was not installed with the recommended installer. Cannot update automatically.\n\n  at ~/.local/lib/python3.8/site-packages/poetry/console/commands/self/update.py:389 in _check_recommended_installation\n      385\xe2\x94\x82         current = Path(__file__)\n      386\xe2\x94\x82         try:\n      387\xe2\x94\x82             current.relative_to(self.home)\n      388\xe2\x94\x82         except ValueError:\n    \xe2\x86\x92 389\xe2\x94\x82             raise RuntimeError(\n      390\xe2\x94\x82                 "Poetry was not installed with the recommended installer. "\n      391\xe2\x94\x82                 "Cannot update automatically."\n …
Run Code Online (Sandbox Code Playgroud)

python bash python-3.x python-poetry

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

使用 ssh+git 添加/安装诗歌失败

我正在尝试使用 SSH 添加从 git 到诗歌的依赖性(我对 HTTPS 版本不感兴趣)。poetry add但无论我使用...,我都会收到错误

\n
poetry add git+ssh://git@github.com:myorg/myproj.git\n
Run Code Online (Sandbox Code Playgroud)\n

...或者如果我手动添加...

\n
# Entry in pyproject.toml\nmyproj = { git = "git@github.com:myorg/myproj.git" }\n# cmd\npoetry install\n
Run Code Online (Sandbox Code Playgroud)\n

在这两种情况下,我都会得到以下输出:

\n
Stack trace:\n\n  11  ~\\AppData\\Roaming\\pypoetry\\venv\\lib\\site-packages\\clikit\\console_application.py:131 in run\n      status_code = command.handle(parsed_args, io)\n\n  10  ~\\AppData\\Roaming\\pypoetry\\venv\\lib\\site-packages\\clikit\\api\\command\\command.py:120 in handle\n      status_code = self._do_handle(args, io)\n\n   9  ~\\AppData\\Roaming\\pypoetry\\venv\\lib\\site-packages\\clikit\\api\\command\\command.py:171 in _do_handle\n      return getattr(handler, handler_method)(args, io, self)\n\n   8  ~\\AppData\\Roaming\\pypoetry\\venv\\lib\\site-packages\\cleo\\commands\\command.py:92 in wrap_handle\n      return self.handle()\n\n   7  ~\\AppData\\Roaming\\pypoetry\\venv\\lib\\site-packages\\poetry\\console\\commands\\add.py:106 in handle\n      requirements = self._determine_requirements(\n\n   6  ~\\AppData\\Roaming\\pypoetry\\venv\\lib\\site-packages\\poetry\\console\\commands\\init.py:320 in _determine_requirements\n      requires = self._parse_requirements(requires)\n\n   5 …
Run Code Online (Sandbox Code Playgroud)

python git python-3.x python-poetry pyproject.toml

8
推荐指数
1
解决办法
4731
查看次数

如何将kaleido包添加到poetry.lock文件中?

当尝试通过 Poetry 安装“kaleido”时,我收到以下错误消息:

\n
~ poetry add kaleido\nUsing version ^0.2.1 for kaleido\n\nUpdating dependencies\nResolving dependencies... (3.1s)\n\nPackage operations: 1 install, 0 updates, 0 removals\n\n  \xe2\x80\xa2 Installing kaleido (0.2.1.post1): Failed\n\n  RuntimeError\n\n  Unable to find installation candidates for kaleido (0.2.1.post1)\n\n  at ~/.poetry/lib/poetry/installation/chooser.py:72 in choose_for\n       68\xe2\x94\x82\n       69\xe2\x94\x82             links.append(link)\n       70\xe2\x94\x82\n       71\xe2\x94\x82         if not links:\n    \xe2\x86\x92  72\xe2\x94\x82             raise RuntimeError(\n       73\xe2\x94\x82                 "Unable to find installation candidates for {}".format(package)\n       74\xe2\x94\x82             )\n       75\xe2\x94\x82\n       76\xe2\x94\x82         # Get the best link\n
Run Code Online (Sandbox Code Playgroud)\n

然而,“kaleido”出现在诗歌.lock 文件中:

\n
[[package]]\nname = "kaleido"\nversion = "0.2.1.post1"\ndescription = "Static …
Run Code Online (Sandbox Code Playgroud)

python python-poetry

8
推荐指数
1
解决办法
3580
查看次数

Mypy 会忽略包的类型,尽管有 `py.typed`

我正在使用 维护两个存储库poetry,我们称它们repo_main为 和repo_dependency。它们都使用python 3.8并具有mypy( v0.942) 类型提示,并且顾名思义,repo_main依赖于repo_dependency。现在,当我mypy在 上运行时repo_main,类型提示repo_dependency实际上被忽略并被有效地视为Anys。然后我尝试将py.typed文件添加到每个子包中,repo_dependency但没有结果,类型仍然被忽略。的结构repo_dependency看起来有点像这样:

repo_dependency/
  - repo_dependency/
    - package1/
      - __init__.py
      - py.typed
      - stuff.py
    - package2/
      - __init__.py
      - py.typed
      - stuff.py
    - __init__.py
    - py.typed
  - other_non_distributed_things/
Run Code Online (Sandbox Code Playgroud)

知道我可能做错了什么吗?

python types python-3.x mypy python-poetry

8
推荐指数
1
解决办法
790
查看次数

诗歌秀命令 - 红色列出的软件包是什么意思?

当我跑步时poetry show- 我的大部分包裹都是蓝色的,但也有一些是红色的?这两种颜色代表什么意思?

我认为红色意味着该包不是@latest?

python python-poetry

8
推荐指数
2
解决办法
4634
查看次数

Python Poetry - 仅更新 -dev 依赖项到最新版本

如何让 Poetrydev仅更新依赖项latest

我原来有:

[tool.poetry.dev-dependencies]
pytest = "^4.6"
Run Code Online (Sandbox Code Playgroud)

但我想要:

[tool.poetry.dev-dependencies]
pytest = "^6.0"
Run Code Online (Sandbox Code Playgroud)

我通过手动编辑文件来实现它pyproject.toml

当我运行poetry update它时(出色地)碰撞了我所有正常的(非开发)依赖项。

python-poetry

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

在 Windows 10 上通过 SSH 运行时,Poetry 安装会抛出 WinError 1312

我有一个从 Windows 机器到另一台机器的 SSH 连接,然后尝试进行诗歌安装。

\n

我的问题是:\n通过 ssh执行诗歌安装时出现此错误:

\n
[WinError 1312] A specified logon session does not exist. It may already have been terminated.\n
Run Code Online (Sandbox Code Playgroud)\n

当我在目标机器上本地执行该命令时,该命令可以完美运行,但通过 ssh 连接时会失败。

\n

我怎样才能摆脱/修复[WinError 1312]?

\n

我看到另一个用户最近发布了同样的问题,但将其删除。

\n

我已经看到了一些有关 MachineKeys 的线索,但真的不知道如何继续。任何建议将受到高度赞赏。

\n
\n

蟒蛇:3.10.8

\n

诗歌:1.2.1

\n
Installing dependencies from lock file\n\nPackage operations: 5 installs, 0 updates, 0 removals\n\n  \xe2\x80\xa2 Installing install-requires (0.3.0)\n\n  OSError\n\n  [WinError 1312] A specified logon session does not exist. It may already have been terminated.\n\n  at ~\\AppData\\Roaming\\pypoetry\\venv\\lib\\site-packages\\win32ctypes\\core\\ctypes\\_util.py:53 in …
Run Code Online (Sandbox Code Playgroud)

python windows ssh operating-system python-poetry

8
推荐指数
1
解决办法
1145
查看次数

运行诗歌安装时的 DBusErrorResponse

我尝试将我的诗歌从 1.1.x 版本升级到 1.3,但官方手册(https://python-poetry.org/docs/)建议我手动删除旧版本。不幸的是,我可能删除了错误的文件,因为安装 1.3 版本后,我仍然收到错误,这些错误似乎与旧诗歌相冲突。 \n我试图找到我帐户中的所有文件(它是远程计算机,所以我不想影响其他人)以某种方式与诗歌(与find /home/username -name *poetry*)有联系并且(卸载诗歌1.3后)删除了它们。然后我重新安装了诗歌 1.3,但仍然无法正常工作。\n还尝试删除我的整个存储库并再次克隆它,但仍然存在同样的问题。我想我已经很生气了,但希望有某种方法可以进行硬重置。有什么办法可以摆脱这个吗?

\n

这是我的错误消息的开头:

\n
\nPackage operations: 28 installs, 0 updates, 0 removals\n\n  \xe2\x80\xa2 Installing certifi (2021.10.8)\n  \xe2\x80\xa2 Installing charset-normalizer (2.0.12)\n  \xe2\x80\xa2 Installing idna (3.3)\n  \xe2\x80\xa2 Installing six (1.16.0)\n  \xe2\x80\xa2 Installing typing-extensions (4.2.0)\n  \xe2\x80\xa2 Installing urllib3 (1.26.9)\n\n  DBusErrorResponse\n\n  [org.freedesktop.DBus.Error.UnknownMethod] (\'No such interface \xe2\x80\x9corg.freedesktop.DBus.Properties\xe2\x80\x9d on object at path /org/freedesktop/secrets/collection/login\',)\n\n  at ~/.local/share/pypoetry/venv/lib/python3.10/site-packages/secretstorage/util.py:48 in send_and_get_reply\n       44\xe2\x94\x82     def send_and_get_reply(self, msg: Message) -> Any:\n       45\xe2\x94\x82         try:\n       46\xe2\x94\x82             resp_msg: Message = self._connection.send_and_get_reply(msg)\n       47\xe2\x94\x82 …
Run Code Online (Sandbox Code Playgroud)

python python-poetry

8
推荐指数
1
解决办法
3269
查看次数