我想从应用程序特定的终端(在这种情况下,玛雅人,但最终其他人)导入模块。我下载了一个项目关闭混帐,我有一个结构,像这样:模块导入本身
modulename
submodule
__init.py__
subsubmodule
...
submodule
...
__init.py__
modulename.py
在我执行壳
于是,我试图导入到外壳上使用的模块,所以我必须:
import sys,os
modulepath = 'C:/path/to/module'
sys.path.append(modulepath)
import modulename
如果导入的modulename.py是空白的,一切都很好。 模块的前两行,然而,该模块试图导入本身(我真的不知道为什么,看到这是别人的项目,但它似乎是结构很重要)
import sys,os
import modulename from modulename as mod
这得到了错误:
# Error: ImportError: cannot import name modulename#
,并没有别的可以继续进行。
最终我想知道为什么一个模块不能导入自己,和/或如何解决这个问题?
我已阅读,模块认为它自己被命名主要使相对进口不工作,在这种情况下,我希望
import __main__ as mod
来代替它,也没有工作不,错误:
# Error: ImportError: Cannot re-init internal module __main__ #
这是总的意义。
[现在的问题是,我怎么能导入模块从内部本身?]
你尝试'从MODULENAME进口MODULENAME为mod'? –
是的,与第一个错误相同的ImportError。 –