ModuleNotFoundError: No module named 'createCredentialsXML'

ModuleNotFoundError: No module named 'createCredentialsXML'

我对我的新 python 项目有疑问。这是我第一次为我的项目使用不同的文件夹。

我有以下结构:

project
  src
    securityFunc
      __init__.py
      createCredentialsXML.py
    main.py

我在 PyCharm 环境中工作。 按播放后我收到错误消息:

Traceback (most recent call last):
  File "C:\project\src\main.py", line 1, in <module>
    from securityFunc import *
  File "C:\project\src\securityFunc\__init__.py", line 1, in <module>
    from createCredentialsXML import *
ModuleNotFoundError: No module named 'createCredentialsXML'

我的主要功能如下所示:

from securityFunc import *

if __name__ == '__main__':
    generate_key()

__init__.py:

from createCredentialsXML import *

createCredentialsXML.py:

def generate_key():
    key = base64.urlsafe_b64encode(os.urandom(2048))

    with open("../key/secret.key", "wb") as key_file:
        key_file.write(key)

我尝试使用 Path 或 sys.path 来解决问题。但是没用。

你能告诉我如何解决这个问题吗?

createCredentialsXML.py 在模块 securityFunc 中工作;您必须指定导入的范围。使用

from securityFunc.createCredentialsXML import *

securityFunc.__init__.py 中应该有效。

由于您正在进行相对导入,因此您需要添加一个 .在你的模块名称之前:

from .createCredentialsXML import *

点表示模块与导入代码的代码位于同一目录中。

您可以阅读更多相关信息here