导入Python文件[ModuleNotFound]

时间:2018-12-19 06:02:19

标签: python file jupyter-notebook

我正在从helpers.py位置将<project_root>/lib/helpers.py文件导入到项目中的子文件夹之一。我正在使用sys软件包。但是导入时出现ModuleNotFound错误。

下面是我正在使用的代码。

import sys
sys.path.insert(0, '/d/Development/s5-data-analysis/lib/')
import helpers

子文件夹为/d/Development/s5-data-analysis/notebooks/my.ipynb。将此helper.py导入到my.ipnb的正确方法是什么。

3 个答案:

答案 0 :(得分:1)

在我看来,这就像您在Windows(或其他Unix-Windows-Layer)上使用Git Bash一样,它具有自己的内置路径转换。其他类似的程序将只能使用通常的路径名,在这种情况下为d:\Development\s5-data-analysis\lib

sys.path.insert(0, r"d:\Development\s5-data-analysis\lib")

答案 1 :(得分:0)

通过将lib添加到__init__.py文件夹,可以将lib文件夹转换为包。在此文件中,您可以像这样导入helpers模块:

from . import helpers

最后,在您的实际代码文件中,导入导入器模块,如下所示:

from lib import helpers

答案 2 :(得分:0)

有多种导入方式。

示例1,使用python解释器导入python模块:

1。将其放入/home/el/foo/fox.py:

def what_does_the_fox_say():
print("vixens cry")

2。进入python解释器:

 nag@sahil:/home/el/foo$ python
 Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
 >>> import fox
 >>> fox.what_does_the_fox_say()
 vixens cry
 >>> 

示例2,在脚本中使用execfile或(在Python 3中为exec)在适当的位置执行另一个python文件:

1。将其放入/home/el/foo2/mylib.py:

def moobar():
print("hi")

2。将其放入/home/el/foo2/main.py:

execfile("/home/el/foo2/mylib.py")
moobar()

示例3.使用...导入...功能:

1。将其放入/home/el/foo3/chekov.py:

def question():
print "where are the nuclear wessels?"

2。将其放入/home/el/foo3/main.py:

from chekov import question
question()