python3导入_Python3导入相对还是绝对的正确方法?
我正在編寫一個python模塊。在Python2中一切正常,但在Python3中,導(dǎo)入失敗。
這是我的代碼結(jié)構(gòu)。neuralnet/
__init__.py
train.py # A wrapper to train (does not define new things)
neuralnet.py # Defines the workhorse class neuralnet
layers/
__init__.py
inlayer.py # Defines input layer class
hiddenlayer.py
application/ # A seperate application (not part of the package)
classify.py # Imports the neuralnet class from neuralnet.py
train.py需要導(dǎo)入neuralnet.py的neuralnet類。
neuralnet.py需要導(dǎo)入layers/inlayer.py等
(我更喜歡相對進(jìn)口。)
我有一個不同的應(yīng)用程序(classify.py)需要導(dǎo)入這個模塊。
我在哪里。。。from neuralnet.neuralnet import neuralnet
我試過幾種進(jìn)口方式。
或者我得到了一個錯誤(大部分是神秘的,比如父元素沒有被導(dǎo)入)
1)運(yùn)行train.py時(它是neuralnet模塊的一部分)from . import layer # In file neuralnet.py
SystemError: Parent module '' not loaded, cannot perform relative import
或者
2)運(yùn)行classify.py時(在模塊外部)。from layer.inlayers import input_layer # In file neuralnet.py
ImportError: No module named 'layer'
我的進(jìn)口貨在Python2中很好地運(yùn)了很多年。我想知道Python對我有什么期望?我是否應(yīng)該將train.py移到模塊外部(技術(shù)上它不是模塊的一部分)?請?zhí)岢鲎罴炎龇ā?/p>
謝謝
拉凱什
總結(jié)
以上是生活随笔為你收集整理的python3导入_Python3导入相对还是绝对的正确方法?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微粒贷欠款5000逾期 没钱还款会上
- 下一篇: python有理数_Python中的as