簡體   English   中英

Python 3 - 在同一目錄中導入.py文件 - ModuleNotFoundError:沒有名為'__main __。char'的模塊; '__main__'不是包

[英]Python 3 - importing .py file in same directory - ModuleNotFoundError: No module named '__main__.char'; '__main__' is not a package

我在Windows 10上使用Python 3.6。我在同一目錄中有2個.py文件, char.pychar_user.py ,如下所示:

char.py:

# char.py

import cv2

#######################################################################################################################
class Char:

    # constructor #####################################################################################################
    def __init__(self):
        self.contour = None
        self.centerOfMassX = None
        self.centerOfMassY = None
    # end def

# end class

char_user.py:

# char_user.py

import os
import cv2

# I've tried this various ways, see more comments below
from .char import Char

#######################################################################################################################
def main():

    char = Char()

    char.centerOfMassX = 0
    char.centerOfMassY = 0

    print("finished main() without error")
# end main

#######################################################################################################################
if __name__ == "__main__":
    main()

無論我嘗試什么,在char_user.py中我試圖導入文件char.py,類Char的行,我得到錯誤:

ModuleNotFoundError: No module named '__main__.char'; '__main__' is not a package

以下是我在char_user.py嘗試import語句的char_user.py

from .char import Char
from . import Char
import Char
import char

我在同一目錄中嘗試使用和不使用空__init__.py

我已經查閱了這些帖子,但沒有人能夠提供解決方案:

如何在同一目錄或子目錄中導入該類?

ModuleNotFoundError:__main__不是包是什么意思?

ModuleNotFoundError:沒有名為'__main __。xxxx'的模塊; '__main__'不是包

這是我在Python 3中第一次嘗試導入我在同一目錄中編寫的腳本(在Python 2中多次完成此操作而無需擔心)。

有沒有辦法做到這一點? 我錯過了什么?

我能夠from char import Char獲得這個,因為你試圖從腳本char導入類Char

據我所知, from .char import Char的行僅在兩個文件都是python模塊(具有自己的__init__.py )的一部分時使用,而它們不是。 在這種情況下, .char顯式引用同一模塊文件夾中的文件char.py ,而不是從安裝到PYTHONPATH的其他模塊導入。

試試這個: from char import Char

暫無
暫無

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

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