簡體   English   中英

Python:ModuleNotFoundError:沒有名為“”的模塊

[英]Python: ModuleNotFoundError: No module named ''

我在 docker 中運行 python 代碼。我有以下文件結構:

-my_dir   
  -test.py   
  -bird.py   
  -string_int_label_map_pb2.py   
  -inference.py

推論.py:

import test
import bird
from string_int_label_map_pb2 import StringIntLabelMap

test.py 和 bird.py 都包含以下代碼:

print('hello world!')
def this_is_test():
    return 'hi'

在 inference.py 'import test'不會拋出任何錯誤(但是 'hello world.' 永遠不會被打印出來)。 'import bird'拋出:ModuleNotFoundError:沒有名為“鳥”的模塊。 最后'import string_int_label_map_pb2 '拋出:ModuleNotFoundError: No module named 'string_int_label_map_pb2 '

注意:bird.py 和 test.py 並不同時存在於目錄中,它們被認為只是為了說明我的觀點。 它們僅在我將同一個文件重命名為任一名稱以測試名稱本身是否是罪魁禍首時才存在。

我將 bird.py 添加到 /worker/(dockerfile 中配置的 WORKDIR 路徑),果然“Hello world”。 打印。

所以問題是 inference.py 沒有像我想的那樣在其父目錄中搜索導入,而是在 WORKDIR 中配置的路徑。

仍然不明白為什么 import test 沒有報錯,因為 /worker/ 中從來沒有 test.py 文件。

如果一個或另一個不在文件夾中,但您在 inference.py 中仍然有 import test 和 import bird,那是您的問題。 Python 正在嘗試導入這兩個文件但找不到該文件。

我也遇到了這個問題,請問我是怎么解決的? 例如。 我的目錄:

--Application ---hooks ---- init .py ----helpers.py ---model ---- init .py ----model_person.py

在腳本 model_person.py 中

import sys sys.path.append('../') from hooks.helpers import *

就這樣

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM