[英]python: cannot find module in the package
我正在創建具有以下目錄結構的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
環境變量或直接添加到python的sys.path
,以便能夠找到軟件包kernels
。
假設demo
和kernels
具有相同的父目錄,則在demo1.py
中修改sys.path
示例-
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/..
獲取父目錄的絕對路徑/path/to/demos/..
如果demo1和內核都不在同一文件夾中,則必須將內核文件的path
添加到path
環境變量中。
import sys
sys.path.append("/path/to/kernels")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.