python中的部分依赖管理

2024-05-23 17:13:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在管理一个相当大的python项目,它有很多依赖项,打算在TensorFlow docker container中运行。定义要在生产环境中安装哪些依赖项的一种常见方法是通过PipenvPoetry之类的工具生成锁文件。创建这样的锁文件时,通常指定allpython依赖项,以确保包之间没有冲突。但是由于TensorFlow docker容器预装了TensorFlow及其所有依赖项,因此我非常希望从锁文件中排除这些包,以避免重复安装。但是,我仍然希望我的依赖关系管理工具在解析锁文件的依赖关系时考虑到TensorFlow的某个版本的存在。你知道吗

有没有一种方法可以生成锁定文件来说明环境中预安装的包,而不将它们包含在锁定文件中?你知道吗


Tags: 文件工具项目方法dockerpoetry定义环境
1条回答
网友
1楼 · 发布于 2024-05-23 17:13:42

如果要将包安装到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

相关问题 更多 >