我正在this中尝试答案。
名为__init__.py
的文件夹中的MyLibs
文件包含:
LogFile = r'D:\temp'
在相同文件夹 utils.py
的{{1}}中,我尝试了多种方式来访问MyLibs
变量:
LogFile
和
from __init__ import *
print LogFile #Gives: NameError: name 'LogFile' is not defined`:
我在执行import __init__
print MyLibs.LogFile #Gives: NameError: name 'MyLibs' is not defined
我必须做什么修复?我更喜欢一种方法,我可以直接引用from MyLibs.utils import *
而无需添加名称空间前缀。
答案 0 :(得分:1)
我的错误。
更新的__init__.py
以某种方式未执行。我开始了一个新的Python会话,它起作用了。
抱歉是误报。
答案 1 :(得分:0)
不确定如何使用2.7的隐式相对导入来执行此操作,但您可以尝试这样做:
from __future__ import absolute_import
from . import LogFile
如果您直接运行Python模块,则需要使用python -m MyLibs.utils
而非python MyLibs/utils.py
运行它。