繁体   English   中英

Poetry install 似乎没有将软件包安装在正确的位置

[英]Poetry install doesn't seem to install the packages in the right place

所以我在很长一段时间内遇到了一个我无法解决的问题。 基本上,我接手了一个使用 Poetry 进行 package 管理的项目(这是一个 Django 项目)。 使用“poetry add”添加软件包,然后通过“poetry install”安装它们都可以在本地正常工作(我使用 Docker 容器)。 但是当将更改推送到我的服务器然后运行“诗歌安装”时,它说软件包已经安装。 但是在运行 Django 应用程序时,我收到一个内部服务器错误,提示 package 不存在。 以“openpyxl”package 为例。

pyproject.toml

...
[tool.poetry.dependencies]
openpyxl = "^3.0.10"
...

诗歌锁

...
[[package]]
name = "openpyxl"
version = "3.0.10"
description = "A Python library to read/write Excel 2010 xlsx/xlsm files"
category = "main"
optional = false
python-versions = ">=3.6"

[package.dependencies]
openpyxl = {version = ">=2.6.0", optional = true, markers = "extra == \"xlsx\""}

[package.extras]
all = ["markuppy", "odfpy", "openpyxl (>=2.6.0)", "pandas", "pyyaml", "tabulate", "xlrd", "xlwt"]
cli = ["tabulate"]
html = ["markuppy"]
ods = ["odfpy"]
pandas = ["pandas"]
xls = ["xlrd", "xlwt"]
xlsx = ["openpyxl (>=2.6.0)"]
yaml = ["pyyaml"]

openpyxl = [
    {file = "openpyxl-3.0.10-py2.py3-none-any.whl", hash = "sha256:0ab6d25d01799f97a9464630abacbb34aafecdcaa0ef3cba6d6b3499867d0355"},
    {file = "openpyxl-3.0.10.tar.gz", hash = "sha256:e47805627aebcf860edb4edf7987b1309c1b3632f3750538ed962bbcc3bd7449"},
]
...

错误: 在此处输入图像描述

哪位有诗歌经验的可以帮我解决这个问题?

我正在对您可以尝试的几个想法进行有根据的猜测(不了解问题/背景的更多信息)。 对于初学者:

  1. 运行/启动您的应用程序时,您是否使用poetry run... / poetry run python... 我首先列出这个,因为 py 环境似乎没有访问已安装的库。 想知道 cmd “运行 Django 应用程序时”
  2. 在服务器上,您可以尝试删除锁定文件并重新运行poetry lockpoetry install以“重新开始”。 您提供的锁定文件是来自服务器的文件吗?
  3. 您如何使用 Docker,这仅在本地? 您是否在服务器上使用 Docker 作为运行容器? 您可以尝试对您的应用程序进行 docker 化,并且作为 Dockerfile 的一部分,您复制的 pyproject.toml/poetry.lock 文件具有 docker 运行诗歌 cmds 来安装您的 deps。

同样,这些都是在黑暗中拍摄的。 可以使用更多理解/细节的一些领域是(a)如何启动 Django 应用程序和(b)如何使用 Docker。 如果您正在查看第 3 点,我可以为您详细说明解决方案。 我使用过很多 docker+poetry 应用程序/服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM