![](/img/trans.png)
[英]ModuleNotFoundError: No module named '__main__.web_app'; '__main__' is not a package while importing package from sub folder
[英]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.py
和char_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.