【发布时间】:2016-07-29 19:36:55
【问题描述】:
我需要测试我正在构建的代码中的一些功能,我将其导入到 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 notebook 位于 /home/jhumberto/WORK/Projects/code/simulations_2016-07-14/simTools/jupyterNotebooks
有什么想法吗?
【问题讨论】:
-
os.environ["SIMTOOLS_PATH"] = "simTools_path"这一行是否应该读作os.environ["SIMTOOLS_PATH"] = simTools_path(没有引号)?一个指向父目录,另一个指向当前目录中名为 simTools_path 的文件夹。 -
@mdurant 傻我,就是这样!谢谢!你能写一个答案让我接受吗?
标签: python path jupyter-notebook sys.path