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