从python 3.4到3.5的转换
我有一个模块在Python3.5+中运行良好,但在3.4中没有。唯一可能影响它的变化是如何在3.5+中处理循环进口。但我找不到任何循环进口,因此可能还有其他原因从python 3.4到3.5的转换,python,python-3.x,Python,Python 3.x,我有一个模块在Python3.5+中运行良好,但在3.4中没有。唯一可能影响它的变化是如何在3.5+中处理循环进口。但我找不到任何循环进口,因此可能还有其他原因 module/ module/ __init__.py file_a.py from module import settings from module.file_b import SomeBClass def stuff()
module/
module/
__init__.py
file_a.py
from module import settings
from module.file_b import SomeBClass
def stuff():
settings.init()
stuff = SomeBClass()
def run():
stuff()
def main():
run()
file_b.py
from module.settings import config, properties
class SomeBClass():
....
file_c.py
class SomeClass():
connect to db...
settings.py
from module.file_c import SomeClass
def init():
global config
global properties
config = SomeClass()
properties = config.get_it()
运行时,我收到以下错误:
File "/home/somewhere/module/module/file_b.py", line 11, in <module>
from module.settings import config, properties
ImportError: cannot import name 'config'
File”/home/somewhere/module/module/File_b.py“,第11行,在
从module.settings导入配置,属性
ImportError:无法导入名称“config”
我试着用python-mv运行这个模块,看看是否有东西被导入了不止一次,但我看不到任何令人担忧的东西
有人有处理3.4和3.5+之间差异的经验吗?尝试从settings.init中的globals访问属性是否会导致问题