python找不到自定义模块

时间:2019-07-30 21:08:05

标签: python python-import

我正在将整体脚本分解为模块。我创建了一个名为standard_modules.py的文件,该文件用于导入正在创建的所有模块。

然后在我正在执行的具有main()的脚本中:

from standard_modules import *
from standard_functions import *

standard_modules.py内,有以下一行:

from list_users import list_users

我正在使用以下方法打印我的路径:

import sys
print('\n'.join(sys.path))

在下面列出的位置,我可以看到我的模块所在的路径:

C:\Users\tdunphy\Desktop\important_folders\git\aws_scripts\python\aws_iam_utils

我已经确认我的模块文件在那里:

ls -l C:\Users\tdunphy\Desktop\important_folders\git\aws_scripts\python\aws_iam_utils\list_users.py
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        7/30/2019   4:30 PM           3256 list_users.py

其中具有主要功能的脚本位于同一目录中。

但是当我尝试运行list_users模块时,我的脚本找不到它:

Traceback (most recent call last):
  File ".\aws_iam_utils.py", line 122, in <module>
    main()
  File ".\aws_iam_utils.py", line 91, in main
    list_users(iam_client, aws_account, interactive)
NameError: name 'list_users' is not defined

如果我将from list_users import list_users放入具有main()的脚本中,则list_users函数起作用。

我在做什么错?如何获取我的脚本来查找此代码以及正在创建的其他模块?

1 个答案:

答案 0 :(得分:0)

我认为您应该将from list_users import list_users更改为from standard_modules.list_users import list_users