无法在 Python 中导入位置设置为 PYTHONPATH 的模块



我也检查了SO上的其他答案,但它们似乎与我的不同。

因此,我正在尝试导入,并决定将我的模块custom.py放入一个嵌套文件夹中,如下所示:/Users/alex/Desktop/Learn/mods/onemore/custom.py

我的主脚本文件位于以下位置:/Users/alex/Desktop/Learn/main.py

所以当我在main.py中执行import custom时,我会得到错误ModuleNotFoundError: No module named 'custom'

尽管/Users/alex/Desktop/Learn/mods/onemorePYTHONPATH:中

> echo $PYTHONPATH

> /Users/alex/Desktop/Learn/mods/onemore

并且该路径在sys.path(第二个(中也是可见的:

> ['', '/Users/alex/Desktop/Learn/mods/onemore', '/Library/Frameworks/Python.framework/Versions/3.10/lib/python310.zip', '/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10', '/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages']

为什么我仍然不能导入模块?

您可以使用文件夹名称导入它例如:from onemore import custom

您需要在/Users/alex/Desktop/Learn/mods/onemore处添加一个空的__init__.py文件,以便以这种方式调用(作为常规包(。

否则,如果它在python路径中,则将其称为命名空间包(不需要init(:

from custom import <func-you-need>

目前进口标准为PEP420。

相关内容

  • 没有找到相关文章

最新更新