python setup.py install将自动安装requires=[]使用中列出的包easy_install.我怎样才能使用它pip呢?
我有一个 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 …Run Code Online (Sandbox Code Playgroud) 我对安装我自己的软件包不感兴趣,但我有兴趣安装我的软件包使用的所有依赖项.有没有办法使用setup.py?它似乎setup.py安装我的包和所有依赖项.
我有一个依赖于其他项目的projectA.其中一些也是来自私人git存储库的我的项目.我在requirements.txt中列出了projectA的所有依赖项,用于我的所有包.
现在projectA依赖的projectB也有依赖项(在需求txt和setup.py中列出),但是当我运行pip install -r requirements.txt for projectA时,pip不会安装它们.