0

我需要从我正在构建的代码中测试一些功能,这些代码我导入到 jupyter 笔记本中。

问题是,simTools_path在功能和 jupyter notebook 上是不同的。此外,当我从我的主要 python 脚本中调用这些函数时,它工作正常。

MWE

simTools_path/objects/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)我在不同模块内的不同函数中使用此路径变量来加载相对于simTools_path路径的文件数据。

2)我的jupyter笔记本位于/home/jhumberto/WORK/Projects/code/simulations_2016-07-14/simTools/jupyterNotebooks

有任何想法吗?

4

1 回答 1

1

您混淆了变量simTools_path和文字字符串"simTools_path"。要纠正该问题,只需按如下方式更改该行:

os.environ["SIMTOOLS_PATH"] = simTools_path
于 2016-08-03T15:37:42.070 回答