2016-07-29 3 views
0

Мне нужно проверить несколько функций из кода, который я создаю, который я импортирую в блокнот jupyter.Jupyter notebook неправильный путь

вопрос есть, 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) Я использую этот переменный путь в различных функциях внутри различных модулей для загрузки файлов данных относительно к 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

Смежные вопросы