我正在创建一个具有以下目录结构的 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 的示例,假设 demo 和 kernels 具有相同的父目录-
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/..
