有一个简单但令人困惑的问题:当我尝试在模块中使用我用诗歌添加的包时,它无法导入。采取的步骤:
poetry add sendgridimport sendgridImport "sendgrid" could not be resolved PylancereportMissingImports我尝试过的故障排除:
'C:\\Users\\xyz123\\AppData\\Local\\pypoetry\\Cache\\virtualenvs\\nameofproject-py3.10\\lib\\site-packages'poetry install给了我回应No dependencies to install or update到底是怎么回事?
我尝试使用诗歌为虚拟环境安装许多依赖项。当它到达时,gevent (20.9.0)它会得到以下内容
import error:
ImportError: dlopen(/private/var/folders/21/wxg5bdsj1w3f3j_9sl_pktbw0000gn/T/pip-build-env-50mwte36/overlay/lib/python3.8/site-packages/_cffi_backend.cpython-38-darwin.so,
0x0002): tried:
'/private/var/folders/21/wxg5bdsj1w3f3j_9sl_pktbw0000gn/T/pip-build-env-50mwte36/overlay/lib/python3.8/site-packages/_cffi_backend.cpython-38-darwin.so'
(mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/local/lib/_cffi_backend.cpython-38-darwin.so' (no such file), '/usr/lib/_cffi_backend.cpython-38-darwin.so' (no such file)
Run Code Online (Sandbox Code Playgroud)
我尝试使用 pip3 代替,但仍然遇到同样的问题。
我想实现与 Dask 库类似的行为,可以使用pip来安装dask、dask[dataframe]和dask[array]其他库。他们通过使用像这样的setup.py包密钥来做到这一点。如果我只安装,则不会安装,并且它们会在执行模块时警告您。daskdask[dataframe]
我在诗歌文档中找到了这一点poetry build,但是当我执行时,我只得到一个.whl包含所有包的文件。
如何打包我的模块以便能够使用安装库的特定部分poetry?
python setup.py python-packaging python-poetry pyproject.toml
我没有在文档中找到它,但我在诗歌中的 pyproject.toml 文件中看到如下内容:
psycopg2-binary="^2.9.1"
Run Code Online (Sandbox Code Playgroud)
^ 是什么意思?
谢谢!
我在做
poetry lock
Run Code Online (Sandbox Code Playgroud)
然后我打开poetry.lock文件并看到该metadata.files块不包含哈希值:
[metadata.files]
aiohttp = []
aiosignal = []
apscheduler = []
...
Run Code Online (Sandbox Code Playgroud)
以前,不是这样的。空哈希的原因可能是什么?
我一直在尝试构建一个使用诗歌命令安装依赖项的 docker 映像RUN poetry install。
我将其作为docker buildGitLab CI/CD 管道工作的一部分,在自己的运行器 VM 实例上运行它。但是,docker 构建过程在使用 运行
期间反复崩溃,然后在处理此错误期间使用和错误。
下面是一些错误示例:poetry installCalledProcessErrorEnvCommandErrorPoetryException
CalledProcessError
Command '['/home/ray/anaconda3/bin/python', '/home/ray/anaconda3/lib/python3.9/site-packages/virtualenv/seed/wheels/embed/pip-22.0.4-py3-none-any.whl/pip', 'install', '--disable-pip-version-check', '--prefix', '/home/ray/anaconda3', '--no-deps', '/home/ray/.cache/pypoetry/artifacts/a8/b9/10/d38e9304d486f9398ab4163054bd6af79c74073ad8685d6cc67f88eccc/Werkzeug-2.2.2-py3-none-any.whl']' returned non-zero exit status 1.
Run Code Online (Sandbox Code Playgroud)
然后
EnvCommandError
Command ['/home/ray/anaconda3/bin/python', '/home/ray/anaconda3/lib/python3.9/site-packages/virtualenv/seed/wheels/embed/pip-22.0.4-py3-none-any.whl/pip', 'install', '--disable-pip-version-check', '--prefix', '/home/ray/anaconda3', '--no-deps', '/home/ray/.cache/pypoetry/artifacts/a8/b9/10/d38e9304d486f9398ab4163054bd6af79c74073ad8685d6cc67f88eccc/Werkzeug-2.2.2-py3-none-any.whl'] errored with the following return code 1, and output:
WARNING: Ignoring invalid distribution -irtualenv (/home/ray/anaconda3/lib/python3.9/site-packages)
ERROR: Could not install packages due to an OSError: [Errno 2] No such file …Run Code Online (Sandbox Code Playgroud) 我正在尝试解决我认为是诗歌的常见问题,但无法找到相关文档。我的项目包含多个包,并使用 pyproject.toml 和诗歌来管理此结构的依赖关系
/pyproject.toml
/poetry.lock
/package1/pyproject.toml
/package1/poetry.lock
/package1/src/package1/...
Run Code Online (Sandbox Code Playgroud)
/package1/pyproject.toml包含 pypi 依赖项并将[tool.poetry.dependencies]可构建包定义为
packages = [
{ include = "package1", from = "./src" },
]
Run Code Online (Sandbox Code Playgroud)
/pyproject.toml参考文献package1与
[tool.poetry.dependencies]
package1 = { path = "./package1", develop = true }
Run Code Online (Sandbox Code Playgroud)
最后,我的 Dockerfile 使用以下命令安装应用程序
WORKDIR /app/package1
RUN poetry install
WORKDIR /app
RUN poetry install
Run Code Online (Sandbox Code Playgroud)
问题在于,Poetry 将每个“项目”(由 pyproject.toml 文件标识)安装在单独的虚拟环境中,并且似乎不支持在同一环境中安装这两个项目。当我执行应用程序时,它可以找到package1但没有找到任何package1依赖项。
如何将所有内容安装在同一环境中?
我该如何处理这种情况?
我正在使用 python 诗歌,要了解它请参阅。
\n安装时我没有遇到任何问题,命令。
\nPoetry 能够安装这些软件包,但它被卡在中间了。
\n我尝试做堆栈溢出和谷歌上存在的多种解决方案。再次没有任何作用。
\n现在我收到以下错误:
(.venv) PS C:\\Project_File\\backend> poetry install\nInstalling dependencies from lock file\n\n ParseConstraintError \n \n Could not parse version constraint: install \n \n at ~\\AppData\\Roaming\\pypoetry\\venv\\lib\\site-packages\\poetry\\core\\semver\\__init__.py:149 in parse_single_constraint\n 145\xe2\x94\x82 return VersionUnion(VersionRange(max=version), VersionRange(min=version)) \n 146\xe2\x94\x82 else: \n 147\xe2\x94\x82 return version \n 148\xe2\x94\x82 \n \xe2\x86\x92 149\xe2\x94\x82 raise ParseConstraintError( \n 150\xe2\x94\x82 "Could not parse version constraint: {}".format(constraint) \n 151\xe2\x94\x82 ) \n 152\xe2\x94\x82 \nRun Code Online (Sandbox Code Playgroud)\n我在堆栈溢出上发现了一些相关的错误问题:\n Could not parse versionconstraint ~xx: Invalid version string "~xx" …