我正在创建一个具有以下目录结构的python项目:
demos
demo1.py
kernels
rbf.py
___init__.py
文件rbf.py
定义了一个名为RBF
的类。 __init__.py
目录中的kernels
文件包含以下行:
from .rbf import *
现在demo1.py
包含以下导入:
from kernels import RBF
但是,
失败了ImportError: No module named kernels
因此demos
文件夹看不到kernels
包目录。我不知道如何做到这一点。
答案 0 :(得分:7)
您应该将<div id="slides">
<img src="http://michaellaszlo.com/so/slideshow/assets/apple.jpg" alt="apple" />
<img src="http://michaellaszlo.com/so/slideshow/assets/pear.jpg" alt="pear" />
<img src="http://michaellaszlo.com/so/slideshow/assets/orange.jpg" alt="orange" />
<img src="http://michaellaszlo.com/so/slideshow/assets/banana.jpg" alt="banana" />
<img src="http://michaellaszlo.com/so/slideshow/assets/pineapple.jpg" alt="pineapple" />
<img src="http://michaellaszlo.com/so/slideshow/assets/kiwi.jpg" alt="kiwi" />
</div>
<button id="startButton" disabled>start</button>
的父目录添加到kernels
环境变量,或直接添加到PYTHONPATH
以便Python找到包sys.path
。
在kernels
中修改sys.path
的示例,假设demo1.py
和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
答案 1 :(得分:0)
如果demo1和kernel都不在同一个文件夹中,则必须将kernels文件的路径添加到path
环境变量中。
import sys
sys.path.append("/path/to/kernels")