我需要从我正在构建的代码中测试一些函数,然后导入到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 notebook
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
有什么想法吗?
答案 0 :(得分:1)
您混淆了变量simTools_path
和文字字符串"simTools_path"
。要解决此问题,只需按如下所示更改行:
os.environ["SIMTOOLS_PATH"] = simTools_path