2016-07-29 33 views
0

Ich muss ein paar Funktionen von einem Code testen, den ich baue, den ich in ein jupyter Notizbuch importiere.Jupyter notebook falscher Pfad

Problem ist, simTools_path ist in den Funktionen und dem Jupyter Notebook anders. Mehr, wenn ich diese Funktionen von meinem Haupt-Python-Skript aus aufrufen, funktioniert es gut.

MWE

simTools_path/Objekte/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() 

Ergebnisse:

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 

Anmerkungen:

1) Ich verwende diesen Pfad Variable in verschiedenen Funktionen in verschiedenen Modulen Dateidaten relativ zu dem simTools_path Pfad zu laden.

2) mein jupyter Notebook ist in /home/jhumberto/ARBEIT/Projekte/code/simulations_2016-07-14/simTools/jupyterNotebooks gelegen

Irgendwelche Ideen?

+1

wurde die Linie 'os.environ [ "SIMTOOLS_PATH"] = "simTools_path"' sollte lesen 'os.environ [ "SIMTOOLS_PATH"] = simTools_path' (keine Anführungszeichen)? Einer verweist auf das übergeordnete Verzeichnis, der andere auf einen Ordner namens simTools_path im aktuellen Verzeichnis. – mdurant

+0

@mdurant albern mich, das war es! Vielen Dank! Kannst du bitte eine Antwort schreiben, damit ich sie annehmen kann? – jorgehumberto

Antwort

1

Sie haben die Variable simTools_path und die Literalzeichenfolge "simTools_path" verwechselt. Um das Problem zu beheben, einfach ändern Sie die Zeile wie folgt:

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

Danke, das hat es behoben :) – jorgehumberto

Verwandte Themen