weixin_42630880 2022-11-02 18:00
浏览 7
已结题

docker自动化部署项目,导入自己写的模块,导包错误,如何解决?(语言-python)

问题遇到的现象和发生背景

我用FastAPI写的接口,我想用docker自动化部署python接口,但是我接口python文件import了我自己写的别的模块,运行docker run的时候出现导包错误。

问题描述

img

这是我的目录结构(后面的requirements.txt没在这个目录图片里,这个只是为了让展示一下我遇到的问题)


# 这是我导入的模块
from CommonLaws.service_use import common_laws_service

# 这是我写的 Dockerfile

FROM python:3.10

COPY FYT_algorithm_project /FYT_algorithm_project

WORKDIR /FYT_algorithm_project

ENV PYTHONPATH ./FYT_algorithm_project

RUN pip install -r OnlineServer/CommonLaws/requirements.txt

CMD ["python", "OnlineServer/CommonLaws/server.py"]

运行结果及报错内容
bash-4.2# docker run 1e5c00164a72
Traceback (most recent call last):
  File "/FYT_algorithm_project/OnlineServer/CommonLaws/server.py", line 16, in <module>
    from CommonLaws.service_use import common_laws_service
ModuleNotFoundError: No module named 'CommonLaws'

这个是报错信息

我的解答思路和尝试过的方法

我觉得可能是我当前运行的目录不正确,可能没在根目录运行程序,ENV PYTHONPATH ./FYT_algorithm_project 这是我配置运行的时候在根目录运行

我想要达到的结果

这个项目就是一个python的web接口,只是将业务逻辑的代码放到另一个模块中,我只是想用docker把项目打包了,然后直接用docker run就可以直接启动这个接口

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月10日
    • 创建了问题 11月2日

    悬赏问题

    • ¥15 如何对TBSS的结果进行统计学的分析已完成置换检验,如何在最终的TBSS输出结果提取除具体值及如何做进一步相关性分析
    • ¥15 SQL数据库操作问题
    • ¥100 关于lm339比较电路出现的问题
    • ¥15 Matlab安装yalmip和cplex功能安装失败
    • ¥15 加装宝马安卓中控改变开机画面
    • ¥15 STK安装问题问问大家,这种情况应该怎么办
    • ¥15 关于罗技鼠标宏lua文件的问题
    • ¥15 halcon ocr mlp 识别问题
    • ¥15 已知曲线满足正余弦函数,根据其峰值,还原出整条曲线
    • ¥20 无法创建新的堆栈防护界面