首页 > 解决方案 > python找不到自定义模块

问题描述

我正在将一个整体脚本分解为模块。我创建了一个文件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_userslist_users 函数放入具有 main() 的脚本中。

我究竟做错了什么?我怎样才能让我的脚本找到这个和我正在创建的其他模块?

标签: pythonpython-import

解决方案


我认为你应该from list_users import list_users改为from standard_modules.list_users import list_users


推荐阅读