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
我对我的新 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