python相對匯入注意事項
最簡單直接的辦法就是:
直接把要匯入的 package 複製到 site-package資料夾下!
或者把 package 所在的路徑加到 python 的搜尋路徑裡面!
上面兩種應該是最好的辦法
在 pycharm 中執行指令碼時,相對匯入可以直接使用
但是如果系統直接執行python指令碼from .. import XXX
(上一級目錄的package)from . import XXX
(當前工作目錄的package)
可能會有ValueError: attempted relative import beyond top-level package
SystemError: Parent module '' not loaded, cannot perform relative import
這樣的錯誤
產生錯誤的原因:
沒有
__init__.py
檔案:相對匯入時,package 所對應的資料夾必須被 python直譯器 視作 package,
而不是普通資料夾,也就是說資料夾中必須要有__init__.py
檔案當前級別的目錄中執行了py指令碼:該資料夾不能作為主函式的入口(頂層模組)來執行該資料夾中的py檔案,想執行的話可以把主函式放在該資料夾的上一級目錄中(不過這樣似乎不利於指令碼的分類整理,如果想把一類的指令碼放到一個資料夾下的話,這個資料夾就又成了主函式的入口?所以建議直接用開頭的兩個方法完成匯入)
在"from YY import XX"這樣的程式碼中,無論是XX還是YY,只要被python直譯器視作package,就會首先呼叫該package的init.py檔案。如果都是package,則呼叫順序是YY,XX
相關文章
- Python匯入包的注意事項Python
- sqoop匯入orcle注意事項OOP
- Oracle 資料匯出注意事項Oracle
- Python——常見注意事項Python
- Python多重繼承注意事項!Python教程Python繼承
- 後端介面對接注意事項後端
- Flutter 登入退出功能注意事項Flutter
- SQL登入失敗注意事項SQL
- Python eval的用法及注意事項Python
- Python Enum 使用的幾點注意事項Python
- RandomAccessFile注意事項randomMac
- @Lombok注意事項Lombok
- iOS開發中整合FFmpeg以及相關注意事項iOS
- Java入門學習注意事項有哪些?Java
- Python使用import匯入相對路徑的其他py檔案PythonImport
- MySQL匯入CSV/TXT等資料來源中資料操作流程及注意事項MySql
- 函式注意事項函式
- 生產注意事項
- 電量注意事項
- CSP 考前注意事項
- 快取注意事項快取
- 入門筆記 --- Golang 語法注意事項(一)筆記Golang
- Python命令列引數定義及注意事項Python命令列
- 部署專案注意事項
- iOS 程式碼注意事項iOS
- 換工作的注意事項
- Oracle使用*的注意事項Oracle
- VRPs 論文注意事項VR
- 程式設計注意事項程式設計
- layer open div 注意事項
- [Android開發] 注意事項Android
- Android元件化注意事項Android元件化
- java呼叫kotlin注意事項JavaKotlin
- 部署nginx php注意事項NginxPHP
- TCP連線注意事項TCP
- 使用Google Fonts注意事項Go
- STL----vector注意事項
- 域名選擇注意事項