0

我想就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 变量。

什么是轻松访问项目模块的好解决方案?

提前致谢!

4

2 回答 2

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”

于 2013-07-28T17:46:03.933 回答
0

包是 argparse。这就是 ArgumentParser 所在的位置。

于 2013-07-28T17:36:22.360 回答