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