我不确定这篇文章到底需要提供哪些信息/上下文才能得到正确的回答 - 因此,如果我可以添加更多信息,请告诉我。
\n在尝试安装软件包时,我收到一条错误消息,如下所示:
\n Invalid hashes (sha256:01d6b62184e55367ce7d770bd87d97a6cfaf783ff7ba8328e7473a339fe19807) for numpy (1.22.2)\nRun Code Online (Sandbox Code Playgroud)\n我不知道如何解决这个问题。
\npoetry --version(install-check-clU745_7-py3.8) \xe2\x9e\x9c install_check poetry --version\nPoetry version 1.1.12\nRun Code Online (Sandbox Code Playgroud)\npoetry env info输出poetry env info:
(install-check-clU745_7-py3.8) \xe2\x9e\x9c install_check poetry env info\n\nVirtualenv\nPython: 3.8.12\nImplementation: CPython\nPath: /Users/user_name/Library/Caches/pypoetry/virtualenvs/install-check-clU745_7-py3.8\nValid: True\n\nSystem\nPlatform: darwin\nOS: posix\nPython: /Users/user_name/.pyenv/versions/3.8.12\nRun Code Online (Sandbox Code Playgroud)\npyproject.toml配置:
(install-check-clU745_7-py3.8) \xe2\x9e\x9c install_check cat pyproject.toml\n[tool.poetry]\nname = "install_check"\nversion = "0.1.0"\ndescription = ""\nauthors = ["user_name <user_name@email_add.com>"]\n\n[tool.poetry.dependencies]\npython = "^3.8"\n\n[tool.poetry.dev-dependencies]\npytest = "^5.2"\n\n[build-system]\nrequires = ["poetry-core>=1.0.0"]\nbuild-backend = "poetry.core.masonry.api"\nRun Code Online (Sandbox Code Playgroud)\n由于使用了develop = true包,Poetry 有一些陈旧的依赖关系。Poetry 无法自行判断依赖项已更新。如何强制 Poetry 重新安装其 virtualenv 中的所有内容来解决此问题?
我对诗歌很陌生,想用 pytest 来设置它。我在以下设置中有一个包 mylib
\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 dist\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 mylib-0.0.1-py3-none-any.whl\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 mylib-0.0.1.tar.gz\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 poetry.lock\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 mylib\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 functions.py\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 utils.py\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pyproject.toml\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 README.md\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 tests\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 test_functions.py\nRun Code Online (Sandbox Code Playgroud)\n在 test_functions 我有
\nimport mylib\nRun Code Online (Sandbox Code Playgroud)\n然而,当我跑步时
\npoetry run pytest\nRun Code Online (Sandbox Code Playgroud)\n它抱怨mylib没有被包括在内。我可以跑
pip install dist/mylib-0.0.1-py3-none-any.whl\nRun Code Online (Sandbox Code Playgroud)\n但这会使我的 python 环境与 mylib 变得混乱。我也想将该环境用于其他包。
\n我的问题是:使用诗歌和 pytest 的正确方法是什么?
\n我的底层 python 环境是干净的 pyenv python 3.8。使用 pyproject.toml 我为 mylib 创建一个基于项目的虚拟环境。
\n我brew install postgresql在诗歌环境中跑步。从此以后,我就无法与诗互动了。
\xce\xbb ~/ poetry\ndyld: Library not loaded: /usr/local/Cellar/python@3.9/3.9.9/Frameworks/Python.framework/Versions/3.9/Python\n Referenced from: /Users/<my username>/Library/Application Support/pypoetry/venv/bin/python\n Reason: image not found\n[1] 5634 abort poetry\nRun Code Online (Sandbox Code Playgroud)\n当我尝试时,我得到相同的输出poetry <any other command>。我尝试删除我的虚拟环境,\xce\xbb ~/Library/Caches/pypoetry/virtualenvs/希望能够从.toml项目中的文件重新安装它们,但无法运行poetry install,因为我收到相同的错误。
我正在运行 MacOS 10.15.7、Homebrew 3.3.12、poetry 1.1.12 和 pyenv 2.2.4。
\nECHO $PATH\n/Users/<my username>/.poetry/bin:~/.local/bin:/Users/<my username>/Library/Python/3.9/bin:/shims:/Users/<my username>/.datacoral/cli/bin:/Users/<my username>/.nvm/versions/node/v12.13.0/bin:/Users/<my username>/bin:/usr/local/bin:/Users/<my username>/.pyenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Users/<my username>/.local/bin:/Users/<my username>/.local/bin\nRun Code Online (Sandbox Code Playgroud)\n 我希望开始在工作中的一些项目中使用诗歌,在这些项目中我被困在有时会干扰证书的公司过滤器后面。
如果我使用 pip,我可以通过执行如下操作来忽略 SSL 错误:
$ pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org <package_name>
Run Code Online (Sandbox Code Playgroud)
诗歌中是否存在类似的东西,无论是命令行参数还是要放入锁定文件的配置值?
我最近开始使用诗歌。我真的很喜欢简单的包管理,但我可以\xe2\x80\x99t似乎解决一件事:它应该使用的Python版本。我的机器上有 Python 3.9 和 3.7。3.7 在系统环境变量中的优先级较高 - 因此这可能是问题的原因。
\n但让\xe2\x80\x99s 回到例子。我的文件的一部分pyproject.toml如下所示:
[tool.poetry.dependencies]\npython = "3.9.2"\npandas = "^1.2.3"\nrequests = "^2.25.1"\nRun Code Online (Sandbox Code Playgroud)\n我手动将Python更改为3.9.2,用于poetry add添加Pandas和请求,然后运行poetry install。我已virtualenvs.in-project设置为 true,因此我的虚拟环境已创建,项目目录中没有任何错误。但是,当它被激活时,我可以看到它正在使用 Python\xc2\xa03.7.9 (在 Windows 上,从 PowerShell 窗口启动):
[tool.poetry.dependencies]\npython = "3.9.2"\npandas = "^1.2.3"\nrequests = "^2.25.1"\nRun Code Online (Sandbox Code Playgroud)\npyproject.toml python = "3.9.2"如果还不够,我如何明确告诉 Poetry 使用确切的 Python 版本?它是否选择第一个 Python 环境变量(在我的例子中是python37 )?或者我在这里遗漏了什么?
使用 Poetry,我想查找可安装的特定软件包的所有版本。有可能实现吗?
我需要帮助。无论我尝试什么,VSCode 都不会找到诗歌 virtualenv 解释器。
使用官方文档中$ curl解释的标准方法安装了诗歌 Python 包管理器。
开始了一个项目$ poetry new finance-essentials_37-64,安装了诗歌环境$ poetry install。
所以现在我可以通过以下方式看到我确实有一个虚拟环境:
Jaepil@Jaepil-PC MINGW64 /e/VSCodeProjects/finance_essentials_37-64 $ poetry env list
>> finance-essentials-37-64-SCQrHB_N-py3.7 (Activated)
Run Code Online (Sandbox Code Playgroud)
这个 virtualenv 安装在:C:\Users\Jaepil\AppData\Local\pypoetry\Cache\virtualenvs,它有finance-essentials-37-64-SCQrHB_N-py3.7目录。
但是,VSCode 无法在其“选择解释器”命令中找到此 virtualenv。我只看到一堆 Anaconda 和 Pipenv 环境,但没有看到我刚刚制作的诗歌环境的解释器。
我也按照这里的建议添加"python.venvPath": "~/.cache/pypoetry/virtualenvs",到我的,但无济于事。还是不行。settings.json
我也尝试了绝对路径,通过添加"python.venvPath": "C:\\Users\\Jaepil\\AppData\\Local\\pypoetry\\Cache\\virtualenvs",到相同的设置,但它也不起作用。
VSCode 设置参考声明它具有python.poetryPath默认值,但它似乎也不起作用。"poetry"在这种情况下,我应该更改默认值吗?
python.poetryPath
“诗歌”
指定 Poetry 依赖管理器可执行文件的位置(如果已安装)。默认值“poetry”假定可执行文件在当前路径中。Python 扩展使用此设置在 Poetry 可用且工作区文件夹中有一个 Poetry.lock 文件时安装包。
我使用的是 64 位 Windows 10 专业版并在系统上安装了 …
我想使用诗歌来构建和分发Python源代码包,但是在poetry init运行poetry build.
ModuleOrPackageNotFound
No file/folder found for package mdspliter.tree
Run Code Online (Sandbox Code Playgroud) python-poetry ×10
python ×8
docker ×1
homebrew ×1
numpy ×1
package ×1
pip ×1
pyenv ×1
pypi ×1
pytest ×1
python-3.x ×1
version ×1
virtualenv ×1