gpt4 book ai didi

python - python 中的部分依赖管理

转载 作者:行者123 更新时间:2023-12-01 07:53:33 25 4
gpt4 key购买 nike

我正在管理一个相当大的 python 项目,有很多依赖项,旨在在 TensorFlow docker container 内运行。定义要在生产中安装哪些依赖项的常见方法是使用 Pipenv 等工具生成的锁定文件。或Poetry 。创建此类锁定文件时,您通常会指定所有 python 依赖项,以确保包之间不会发生冲突。但由于 TensorFlow docker 容器预装了 TensorFlow 及其所有依赖项,我真的希望将这些包从我的锁定文件中排除,以避免重复安装。不过,我仍然希望我的依赖项管理工具在解析锁定文件的依赖项时能够考虑到特定版本的 TensorFlow 的存在。

有没有办法生成锁定文件来说明环境中预安装的软件包,而不将它们包含在锁定文件中?

最佳答案

如果您将包安装到 TensorFlow Docker 镜像中,则 TensorFlow 依赖项已被镜像名称和标签“锁定”,例如tensorflow/tensorflow:2.0.0。因此,请在 Pipfile 中指定您的其他 Python 依赖项。

例如,您的 Dockerfile 可能包含:

FROM tensorflow/tensorflow:2.0.0-py3

RUN pip3 install pipenv
COPY Pipfile Pipfile.lock /yourproject
WORKDIR /yourproject

RUN pipenv --three --site-packages
RUN pipenv install

然后你就有了 TensorFlow 和所有其他依赖项:

$ docker build . -t yourproject && docker run -it yourproject bash
# build info not shown
root@b04fc204d239:/yourproject# pipenv run python -c "import tensorflow; print(tensorflow.__version__)"
Loading .env environment variables…
2.0.0

关于python - python 中的部分依赖管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56079938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com