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,这样方便在无法访问公网的服务器上使用镜像。
疑问点:
- 原本是不想在开发的本地执行
pip freeze > requirements.txt想在构建镜像时用pipreqs,但是报错没有正常生成requirements.txt文件。 - 最好是在提交代码后,在构建镜像时可以用命令生成requirements.txt,然后安装所需依赖。后续有丝滑的办法会更新本文。

浙公网安备 33010602011771号