我想问一些有关python导入部分的帮助。我想开发一个小命令行工具,我开始创建它的最小包结构。
看起来像这样:
myTool/
myTool/__init__.py
myTool/mytool.py
myTool/system/__init__.py
myTool/system/argumentparser/__init__.py
myTool/system/argumentparser/ArgumentParser.py
当我在终端中调用导入ArgumentParser的mytool.py文件时,我收到此错误消息:
ImportError: No module named ArgumentParser
代码如下所示:
import ArgumentParser
def main():
--logic--
if __name__ == "__main__":
main()
我是否尝试使用
无关紧要from mytool.system.argumentparser import ArgumentParser
或
from mytool.system import ArgumentParser
我得到类似的关于Python环境的错误消息无法看到这样的模块。
我经历了一些关于它的教程和文章,我尝试修改了没有静脉的PYTHONPATH变量。
轻松访问项目模块的好方法是什么?
提前致谢!
答案 0 :(得分:0)
包是argparse。这就是ArgumentParser所在的地方。
答案 1 :(得分:0)
尝试在导入ArgumentParser
之前添加此项from system import *
from system.argumentparser import *
from system.argumentparser import ArgumentParser
或者只是尝试:
from system.argumentparser import ArgumentParser
可能是python尚未将这些目录建立为包,因此 init .py未编译为.pyc。或者您在导入时引用myTool,而不应该。导入应从下一个目录开始,在本例中为“system”,而不是“mytool.system”