gpt4 book ai didi

python: 在包中找不到模块

转载 作者:太空宇宙 更新时间:2023-11-04 07:37:02 25 4
gpt4 key购买 nike

我正在创建一个具有以下目录结构的 python 项目:

demos
demo1.py
kernels
rbf.py
___init__.py

文件 rbf.py 定义了一个名为 RBF 的类。 kernels 目录中的 __init__.py 文件包含以下行:

from .rbf import *

现在 demo1.py 包含以下导入:

from kernels import RBF

然而,这失败了

ImportError: No module named kernels

所以demos文件夹中没有看到kernels包目录。我不知道该怎么做才能完成这项工作。

最佳答案

您应该将 kernels 的父目录添加到 PYTHONPATH 环境变量或直接添加到 sys.path 以便 Python 能够找到kernels 包。

修改 demo1.py 中的 sys.path 的示例,假设 demokernels 具有相同的父目录-

import os, os.path
import sys
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__),'..')))
from kernels import RBF

以上是做什么的-

__file__ 获取脚本的路径

os.path.dirname(__file__) - 获取包含文件的目录路径。

os.path.join() - 创建类似 /path/to/demos/.. 的路径 - 取决于操作系统。

os.path.abspath - 从/path/to/demos/..

获取父目录的绝对路径

关于python: 在包中找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32226316/

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