gpt4 book ai didi

python - Python 3 导入错误

转载 作者:行者123 更新时间:2023-11-30 22:11:17 25 4
gpt4 key购买 nike

我有Python 3中的结构:

my_module/
my_module/
any_name.py
tests/
tests.py

然后,我尝试在tests.py中使用:

from my_module.any_name import my_class

我收到错误:

ModuleNotFoundError: No module named 'my_module'

有谁知道问题出在哪里吗?

最佳答案

首先,my_modulemy_module/my_module 非常令人困惑,但让我们忽略它。

为了使 my_module 正常工作,外部 my_module 必须位于您的 sys.path 上。

所以,如果你这样做:

$ cd tests
$ python tests.py

…那么你的sys.path将只是你常用的路径,加上my_module/tests。它不会包含 my_module,因此您在任何地方都找不到 my_module/my_module

解决这个问题的方法包括:

  • 拥有一个顶级 test.py,它执行 from tests importtests.pytests.run()
  • 从顶级 my_module 目录中以 python -mtests.tests 形式运行代码,而不是以 pythontests.py 形式运行> 来自 my_module/tests
  • tests/tests.py 手动将 os.path.join(__path__, '../my_module) 插入 sys.path .
  • 使用 setuptools/pkg_resources 而不是尝试手动完成所有操作。
  • 做所描述的老套的事情 here 。 (你真的不想这样做,除非你需要与 Python 2.7 或 3.2 或旧的 distribute/distutils 版本的 pkg_resources 兼容.)

关于python - Python 3 导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51461852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com