2016-07-29 132 views
0

我需要测试我正在建立的代码中的几个函数,我将其导入到jupyter笔记本中。Jupyter笔记本错误路径

问题是,simTools_path是不同的功能和jupyter笔记本。更多的是,当我从我的主Python脚本调用这些函数时,它工作正常。

MWE

simTools_path /对象/ classes.py

simTools_path = os.path.abspath(os.getenv('SIMTOOLS_PATH')) 
sys.path.append(simTools_path) 

def testPath(): 
    print 'testPath', simTools_path 

jupyter笔记本

import os,sys 
# paths 
simTools_path = os.path.abspath('../') 
os.environ["SIMTOOLS_PATH"] = "simTools_path" 
os.environ["PYTHONPATH"] = "simTools_path" 
sys.path.append(simTools_path) 

from objects.classes import testPath 

print simTools_path 
testPath() 

结果:

simTools_path= /home/jhumberto/WORK/Projects/code/simulations_2016-07-14/simTools 
testPath= /home/jhumberto/WORK/Projects/code/simulations_2016-07-14/simTools/jupyterNotebooks/simTools_path 

注:

1)I使用此路径变量在不同的功能不同的模块内部的文件数据加载相对于simTools_path路径。

2)我的jupyter笔记本位于/家庭/ jhumberto /工作/项目/代码/ simulations_2016-07-14/simTools/jupyterNotebooks

任何想法?

+1

呈线条'os.environ [ “SIMTOOLS_PATH”] = “simTools_path”'应该读取'os.environ [ “SIMTOOLS_PATH”] = simTools_path' (没有引号)?一个指向父目录,另一个指向当前目录中名为simTools_path的文件夹。 – mdurant

+0

@mdurant愚蠢的我,就是这样!谢谢!你能写一个答案,我可以接受吗? – jorgehumberto

回答

1

您已经混淆了变量simTools_path和文字字符串"simTools_path"。为了解决此问题,简单地改变线如下:

os.environ["SIMTOOLS_PATH"] = simTools_path 
+0

谢谢,修好了:) – jorgehumberto