python的相对路径导入问题
用python做項目,如果項目大了,或者想更好的管理程序,總是要使用包。包解決了命名沖突的問題。
今天在使用python的相對路徑導入的時候,遇到了不少的問題。
包導入情形:
src/
????__init__.py
????main.py
????components/
????????__init__.py
????????expander.py
????????language_id.py
????utilities/
????????__init__.py
????????functions.py
如果要在expander.py中引用functions.py中的內容,或許這樣表示
from?..utilities?import?functions.py
?
1.錯誤一:ValueError:Attemptedrelative?import?beyond?toplevel?package
這個問題是因為到達了包的最頂層,而最頂層不是一個包。
解決方法:在main.py同級添加一個目錄mod,包含components和utilities,并在mod中添加一個__init__.py,即可解決
參見:http://stackoverflow.com/questions/4175534/relative-imports-in-python
?
2.錯誤二:ValueError:?Attempted?relative?import?in?non-package
使用相對路徑進行導入的文件,不能再當作主文件執行。原因如下:
http://blog.csdn.net/chinaren0001/article/details/7338041
?
3.錯誤三:no?module?named?***
在指定路徑下沒有找到該模塊。
轉載于:https://www.cnblogs.com/alan-babyblog/p/5218818.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的python的相对路径导入问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信浏览器禁止页面下拉查看网址
- 下一篇: Python回顾与整理1:Python基