obk*_*obk 10 python pip docker python-packaging pyproject.toml
我有一个 python 包,我想将其安装在 docker 文件中。
pyproject.toml 看起来像:
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "bar"
dependencies = [
"pandas",
]
[project.optional-dependencies]
foo = [
"matplotlib",
]
Run Code Online (Sandbox Code Playgroud)
...和 Dockerfile:
# ...
WORKDIR /app
COPY . /app
RUN pip install /app
Run Code Online (Sandbox Code Playgroud)
这会在每个构建上安装依赖项(在本例中为pandas),我希望避免这种情况,以节省开发人员的时间,因为 pyproject.toml 很少被触及。
如何仅安装pandas(列出 pyproject.toml 的依赖项)而无需COPY .安装bar.
我想避免:
dynamic在pyproject.toml中使用关键字,因为我已经optional-dependencies并且希望将依赖项列表尽可能靠近(即同一文件)。就像是:
# ...
WORKDIR /app
COPY ./pyproject.toml /app/
RUN pip install --requirements-from /app/pyproject.toml # <-- HERE
COPY . /app
RUN pip install /app # <-- Installs `bar` only. All dependencies already installed.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5572 次 |
| 最近记录: |