網站首頁 編程語言 正文
同級目錄(兄弟目錄)調用
看書看得好好的,一寫代碼就出錯!!!
這個問題是大家初學Python的時候會遇到的一個很常見的問題,然后我們去搜網上的教程,自己試一試還是都是BUG,常見的就是這兩個命令:
ModuleNotFoundError: No module named 'XXXXXXX'
ImportError: attempted relative import with no known parent package
教程一般都是很詳細的給你分析,然后給你井不同文件的調用,其實整那么多沒事的干嘛是不是,我們要的只是解決辦法。
詳細解釋
注意
1、我只說兄弟的文件夾下面的調用,父子啥的__init__.py 搜一搜就可以了
2、不要用Vscode ,Vscode的環境變量你是整不明白的
3、我沒太多的時間花費在博客上,所以遇到啥才會去擴充啥,大家也可以在下面留言遇到的問題和解決的辦法
4、可能我說的也會有錯誤,但我主要的是解決我自己遇到的問題
開始上代碼
目錄結構
a1.py
def a1_print(): print("a1_print OK")
b1.py
from ..a.a1 import a1_print a1_print()
運行b1.py,報錯
ImportError: attempted relative import with no known parent package
原因
文件夾被python解釋器視作package需要滿足兩個條件:
- 文件夾中必須有__init__.py文件,該文件可以為空,但必須存在。不能作為頂層模塊來執行該文件夾中的py文件,即使用…的文件夾外邊還需要有包含__init__.py的文件夾 (即不能作為主函數的入口)
- 主就是 不能作為主函數的入口,兄弟引用不能作為入口,意思是你不能直接運行b1.py,你可以在c1.py 這樣弄,b1.py 不可以 不可以 不可以
我非要咋解決
修改b1.py
import sys# 加了這了 sys.path.append("..") ## 這個 from a.a1 import a1_print #改了這個 a1_print()
輸出
BUG
Pycharm
我覺得還是不管它吧,能運行就不錯了,沒有啥影響。
不要用Vscode 不要用Vscode 不要用Vscode?
import同級目錄報錯
pycharm不會將當前文件目錄自動加入自己的sourse_path。右鍵make_directory as-->Sources Root將當前工作的文件夾加入source_path就可以了。
原文鏈接:https://blog.csdn.net/ym404232992/article/details/115429984
相關推薦
- 2023-08-15 解決chrome升級后跨域跳轉cookie無法攜帶問題
- 2022-11-13 Python?pandas按行、按列遍歷DataFrame的幾種方式_python
- 2023-02-18 SQLserver中的any和all運算符的用法_MsSql
- 2023-10-26 ElementUI日期轉為“yyyy-MM-dd“格式
- 2022-09-05 SparkStreaming寫入Hive慢
- 2023-12-13 統計Excel單元格中某個字符出現的次數
- 2022-04-12 ASP動態include文件_ASP基礎
- 2023-02-25 C++中vector迭代器失效與深淺拷貝問題詳析_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支