我正在从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
的正确方法是什么。
答案 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()