问题标签 [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.
python - 使用 Poetry 从 Git 自动安装 Python 依赖项
我使用Poetry进行 Python 依赖管理,以及PyCrate进行 ASN.1 编码/解码。
PyCrate 是从 GitHub 拉取的依赖项,一旦从 GitHub 拉取,就可以通过在 PyCrate 目录中运行安装文件来安装。
如果可能的话,我想将安装步骤集成到我pyproject.toml
的 . 我目前pyproject.toml
包括 PyCrate 如下:
这将从 GitHub 存储库中拉出 PyCrate,但会拉入src
Poetry 创建的 virtualenv 中的文件夹中。
有没有办法在执行时自动运行安装脚本poetry install
?我已经研究过使用Poetry scripts,但到目前为止还没有能够正确启动和运行它。
我当前的设置涉及运行 a poetry install
,然后手动运行setup.py install
for PyCrate,但是如果可以的话,我想让我poetry install
执行完整的设置。
对此的任何帮助将不胜感激。
python - 诗歌和 PyTorch
我最近发现poetry
管理依赖项。在一个项目中,我们使用 PyTorch。我该如何添加这个poetry
?
我们正在研究无法访问 CUDA GPU(用于简单的道路推理/测试)的机器和我们可以访问 CUDA GPU 的工作站。是否可以使用诗歌来确保每个开发人员都使用相同的 PyTorch 版本?
似乎没有明显的方法来决定要安装哪个 PyTorch 版本。我曾考虑将不同的安装说明添加为额外的依赖项,但我找不到获得等效设置的选项,例如:
pip3 install torch==1.3.1+cpu torchvision==0.4.2+cpu -f https://download.pytorch.org/whl/torch_stable.html
我可以设置不同在线轮子的总路径,例如:
https://download.pytorch.org/whl/torch_stable.html/cpu/torch-1.3.1%2Bcpu-cp36-cp36m-win_amd64.whl
但我宁愿不直接在 git 中使用它们……我在诗歌中看到的最接近的选项是手动下载它们,然后使用file = X
命令。
python-3.x - Poetry install 与来自 git 的软件包一起崩溃
我们使用 gitreceive[0] 将 deploy 与 git push 一起使用 Git receive 使用 pre-receive 钩子来执行诗歌。我们的依赖项之一是从 github 中提取的。
诗歌在安装过程中崩溃。这只发生在使用 pre-recieve 钩子调用时。以用户本身的身份调用它不会导致崩溃。
Pipenv 对此没有任何问题。
我能做些什么来解决这个问题?
python - 如何使用 pyproject.toml 设置和诗歌运行脚本?
- 我正在使用诗歌来创建 .whl 文件。
- 我有一个在远程主机上运行的 ftp 服务器。
- 我写了一个 python 脚本
log_revision.py
(路径保存在数据库中)。
目前,我每次运行poetry build
推荐后手动运行脚本。我知道pyproject.toml
有, [tool.poetry.scripts]
但我不知道如何使用它来运行 python 脚本。
我试过
然后poetry run my-script
但我总是得到一个错误
AttributeError: module 'my_package_namen' has no attribute 'log_revision'
1. 有人能帮我理解如何运行祝愿吗?
作为一个短期选项(没有 git 和参数)我尝试使用poetry publish -r http://192.168.1.xxx/home/whl -u hello -p world
但我收到以下错误
2. 我在做什么,我该如何解决?
会给予任何帮助,谢谢!
django - 如何让 tox 和诗歌协同工作以支持测试 Python 依赖项的多个版本?
我正在切换一个当前用作测试的项目,以查看差异是什么pipenv
。poetry
该项目是一个简单的、可再分发的 Django 应用程序。它支持 Python 3.6-8,以及 Django 2.2 和 3.0。我有一个tox.ini
文件涵盖了 Python 和 Django 的所有组合,因此:
我遇到的问题(pipenv
世界上不存在)是该poetry install
语句将始终用文件中的任何内容覆盖该deps
部分中的任何内容poetry.lock
(如果不存在则将自动生成)。这意味着测试矩阵永远不会针对 Django 2.2 进行测试——因为每个 tox virtualenv 都会默认安装 Django 3.0。
我不明白这应该如何工作 - 安装依赖项是否应该poetry
尊重它正在安装的现有环境?
所以 - 我的问题是 - 我如何设置一个多版本的 tox(或 travis)测试矩阵,以诗歌作为依赖管理器?
我pyproject.toml
将 Python / Django 版本定义为:
生成的poetry.lock
文件(未提交)具有以下 Django 版本信息:
更新:包括干净的毒物输出
这是我删除锁定文件并重新创建 tox 环境时的结果。如您所见,toxDjango==2.2
作为依赖项安装在 virtualenv 中,但poetry
随后将其更新到3.0
安装时。
我需要一个运行诗歌安装的解决方案,尊重现有的包安装。即如果pyproject.toml
statesDjango = "^2.2 || ^3.0"
和 2.2 已经安装,则固定到该版本 - 不要尝试升级。
更新 2
按照下面 sinoroc 的说明 - 我已更新 tox 文件以删除skip_dist
和包含isolated_build
. 这行得通,有点。tox 构建包并安装它 - 但只有非开发版本,不包括pytest
,coverage
以及我想在以后包含的大量 linting 工具。即我想通过 tox 运行的工具在诗歌中被指定为开发依赖项。这里有一个解决方案,将所有这些都包含在 tox 文件中 - 但这似乎弄巧成拙 - 因为那时我有诗歌和 tox 都声明依赖关系。
更新3:解决方案
docker - 复制文件 - 在 Dockerfile 旁边 - 不起作用并阻止 docker build
我正在尝试构建一个内部带有 mlflow 服务器的 docker 容器,其中包含用于依赖的诗歌 toml 文件。(两个 toml 完全相同,这只是一种尝试找出的方法)
树:
├── docker-entrypoint.sh
├── Dockerfile
├── 文件
│ └── pyproject.toml
├── git.sh
├── pyproject.toml
└── README.md
正如你所看到的,我的 toml 文件在 Dockerfile 旁边COPY pyproject.toml ./
仍然不起作用
Dockerfile
构建命令:
我收到此错误:
pyproject.toml
码头入口点.sh
如果我RUN pwd; ls
在第一次COPY
获得之前添加:
python-poetry - 如何将诗歌构建的python包添加到另一个带有诗歌的python项目中?
我正在做两个项目,我们称它们Project A
为Project B
.
Project B
需要一些模块Project A
,所以我做了poetry build
一个Project A
。当我手动执行pip install dist/blabla.whl
由poetry on 生成的构建时,我可以访问该模块Project A
。
但是当我做 a 时poetry add project-a git+ssh://git@gitlab.blabla.co/nubela/project-a.git#develop
,它说
找不到包 project-a 的匹配版本
当然,我理解是因为project-a
它没有经典地与 setup.py 和其他东西打包在一起。然后如何在poetry add <git-repo-uri>
不涉及自托管 pypi 实例的情况下执行?
我可以将 .whl 文件推送到项目 git repo,这有帮助吗?
python - 如何创建一个空的 python 包?
我想使用诗歌工具创建一个空的(元)包,主要是为了简化将依赖项列表组合在一起的过程。如果我按如下方式创建我的 project.toml:
然后执行poetry build
,我得到一个错误:
我是否遗漏了一些东西来告诉诗歌这个包裹没有内容?
附录:我很乐意使用诗歌作为创建一个.dist-info
包含元数据的目录的方法,以便pip
看到已安装的元数据包,如果有更好的工具,我很乐意切换。
python - 使用 Python 诗歌的安装后脚本
正是这个问题,但有诗歌,没有设置工具。
我想跑
当我的包安装时。使用 Setuptools 您可以只修改setup.py
,但在 Poetry 中特别没有setup.py
.
我真正想做的是生成一个默认.mypackage_config
文件并将其放在有用的地方。如果没有任意代码,我看不到如何做到这一点,但是 Poetry不允许安装任意代码。有没有办法做到这一点?