簡體   English   中英

如何修復 python2.7 中的“導入錯誤:沒有命名的模塊”

[英]How to fix 'Import Error: No module named' in python2.7

將模塊放入現有項目時出現導入錯誤。 文件夾結構如下:

model
  /new_sub_model
     __init__.py
     new_file.py
  /sub_model
     __init__.py
     file.py
  __init__.py
  file_to_import.py

new_sub_model及其下的文件是我寫的,sub_model之前已經存在,new_file.py和file.py都導入file_to_import.py,在file.py中有效,在new_file.py中無效,報錯如題。 每個文件都有init.py。

下面列出的導入語句

    from model.file_to_import import function
the error traceback lists below

        from model.file_to_import.py import function
    File "/usr/lib64/python2.7/site-packages/gevent/builtins.py", line 93, in __import__
        result = _import(*args, **kwargs)
    ImportError: No module named file_to_import

我不知道問題是什么以及如何解決。 很高興得到您的答復。

編輯:我通過使用語句解決了這個問題

    from..file_to_import import function

這解決了我的問題,但我不知道為什么。

您的 model 目錄中沒有__init__.py因此它不能用作模塊。 在工作文件中,必須有一些東西將文件夾附加到 Python 查找模塊的路徑。 沒有任何更具體的結構和代碼,這是我最好的猜測。

Python 將當前目錄用於導入語句,因此如果您嘗試從“上層”目錄導入某些內容,它將找不到。 只需在 import 語句之前使用這些行:

import sys
sys.path.insert(1, '../')

並將導入語句更改為from file_to_import import function

暫無
暫無

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

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