Python包的相对导入时出现问题解决
生活随笔
收集整理的這篇文章主要介紹了
Python包的相对导入时出现问题解决
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
資料參考:?https://www.cnblogs.com/ArsenalfanInECNU/p/5346751.html
在python導(dǎo)入包,如下:
from .units import *經(jīng)常出現(xiàn)錯誤:
SystemError: Parent module '' not loaded, cannot perform relative import或
ValueError: attempted relative import beyond top-level package其原因在相對導(dǎo)入時,package所對應(yīng)的文件夾必須正確的被python解釋器視作package,而不是普通文件夾。否則無法利用package之間的嵌套關(guān)系,從而無法實現(xiàn)python中包的相對導(dǎo)入。
文件夾被python解釋器視作package需要滿足兩個條件:
1、文件夾中必須有__init__.py文件,該文件可以為空,但必須存在該文件。
2、不能作為頂層模塊來執(zhí)行該文件夾中的py文件(即不能作為主函數(shù)的入口)。
對于第一個條件問題直接新建一個空白__init__.py文件即可,對于第二個條件問題,可以新建一個包,將需要直接執(zhí)行的文件及關(guān)聯(lián)文件拖入包中,比如新建一個包package,拖入后,問題導(dǎo)入代碼變?yōu)?#xff1a;
from package.units import *這時可以正確導(dǎo)入。
?
轉(zhuǎn)載于:https://www.cnblogs.com/ying-chease/p/8583769.html
總結(jié)
以上是生活随笔為你收集整理的Python包的相对导入时出现问题解决的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获取拍照图片,显示大图像
- 下一篇: websocket python爬虫_p