python 使用fastapi 框架的项目,处理依赖的问题

因为不是专业python人士,暂时用的这样的办法开发和部署。本地运行使用venv是为了独立隔绝本地环境。线上在docker中运行,所以直接将依赖安装docker容器的全局。因为不会在同一个docker中使用不同的python版本和包。如python大佬们有更好的方式可留言指导一下,谢谢!

1.在本地开发用venv 虚拟环境的方式处理不同版本的依赖问题。

2.在本地开发环境在项目根目录,执行 pip freeze > requirements.txt 将项目依赖的包命写入requirements.txt

3.用指定python版本的镜像作为基础,将项目运行起来容器后,进入容器的项目根目录,执行 pip install -r requirements.txt

4.安装完成后在宿主机,执行: docker commit <container-id> image:tag 将容器保存为镜像并指定tag

5.如果需要将镜像保存为文件,可以用docker save -o image.tar image:tag,这样方便在无法访问公网的服务器上使用镜像。


疑问点:

  1. 原本是不想在开发的本地执行pip freeze > requirements.txt 想在构建镜像时用pipreqs,但是报错没有正常生成requirements.txt文件。
  2. 最好是在提交代码后,在构建镜像时可以用命令生成requirements.txt,然后安装所需依赖。后续有丝滑的办法会更新本文。
posted @ 2025-05-27 18:44  熊先生不开玩笑  阅读(37)  评论(0)    收藏  举报