2017-10-16 5 views
2

Ich brauche den Speicherort des lokalen Verzeichnisses von jupyter, um es in einem anderen Skript zu verwenden. Zum Beispiel beim Starten jupyter, die Konsole druckt:Suchen Sie das standardmäßige lokale Jupyter-Verzeichnis

> Serving notebooks from local directory: C:\Users\PC\Documents 

Irgendwie jupyter diesen Weg als den lokalen Standort Standard gesetzt hat, aus dem mein Notebooks bedient werden. Es ist die "Wurzel" meiner jupyter Umgebung. Wie finde ich diese Standardeinstellung? Gibt es eine bereits vorhandene Datei, die ich analysieren kann, oder einen Befehl, den ich eingeben kann? die folgende versucht


unter anderem versucht, ich habe:

> jupyter notebook --help-all 
--NotebookApp.notebook_dir=<Unicode> 
    Default: '' 
    The directory to use for notebooks and kernels. 

Anmerkung: Ich habe nicht eine Config-Datei haben, noch möchte ich nicht zu generate a config file diese Informationen zu erhalten. Aus Gründen der Übersichtlichkeit geht es mir nicht um changing the directory.

+0

Wie geht es dir Start Jupyter? Ist der Pfad 'C: \ Benutzer \ PC \ Dokumente' konstant oder unterscheidet er sich? –

+0

@JacobBudin Ich beginne Jupiter mit Anacondas JupyterNotebook Link, also ist es ja immer ein reproduzierbarer Start.Es scheint jedoch, 'jupyter-notebook-script.py' zu betreiben, das' notebook.notebookapp' aufruft. Möglicherweise gibt es dort Code zum Parsen des lokalen Verzeichnisses. – pylang

Antwort

3

Von https://stackoverflow.com/a/37690452 scheint es, dass der Standardspeicherort in der Datei cwp.py im Anaconda-Ordner festgelegt/abgeleitet ist. Für Standardinstallationen unter Windows scheint es, dass dieses Skript an (für Benutzername 10, wie in Ihrer Frage) C:\Users\PC\AppData\Local\Continuum\Anaconda3\cwp.py sein würde.

Wenn Sie die Quelle von cwp.py auf github.com/ContinuumIO/menuinst finden, scheint es, dass es im Grunde den aktuellen Windows-Benutzerordner Dokumente verwendet.

edit:

ich unter dem Kern meiner Post auf dem bei notebook/issues/2941#issuecomment-337076059 Github Problem zu reproduzieren, wie in den Kommentaren angefordert:


Sofern nicht anders angegeben in Config oder Umgebungsvariablen, der Notebook-Server verwendet das aktuelle Arbeitsverzeichnis zur Startzeit als Notizbuchverzeichnis. Ihr scheint auf den Dokumentenordner eingestellt zu sein, weil die Anaconda-Verknüpfung, die Sie zum Starten des Notebooks verwenden, ein wenig Zauberkraft ist, um das Arbeitsverzeichnis vor dem Starten des Notebookservers zu setzen. Für Sie Zwecke, könnten Sie:

  1. gesetzt Explizit das Notebook-Verzeichnis in einer Konfigurationsdatei oder Umgebungsvariablen
  2. Angenommen das Notebook Wurzel ist bei

    os.path.expanduser('~/Documents') 
    

    (beachten Sie kann diese nicht funktionieren muss angepasst werden, wenn die Sprache des Betriebssystems nicht Englisch ist)

  3. Verwenden Sie das pip/conda-Paket menuinst, den Ordner zu finden, die gleiche Logik wie die Anakonda Verknüpfung zu replizieren genau - etwas entlang der Linien von:

    from menuinst.windows.knownfolders import FOLDERID, get_folder_path 
    
    documents_folder, exception = get_folder_path(FOLDERID.Documents) 
    if exception: 
        documents_folder, exception = get_folder_path(FOLDERID.PublicDocuments) 
    if exception: 
        print('bang! exception! do some error handling') 
    else: 
        print(documents_folder) 
    

    (dies beachten Sie wird wahrscheinlich auf Nicht-Windows-Systeme versagen)

+0

Vielen Dank. Ich schätze den dritten Vorschlag aus diesem Post: https://github.com/jupyter/notebook/issues/2941#issuecomment-337076059. Würdest du diesen Link einfügen? Ich würde mich freuen, diese Antwort zu akzeptieren. – pylang

+0

@pylang Kein Problem. Ich habe die Antwort so bearbeitet, dass sowohl ein Link zum GitHub-Thema als auch eine Transkription des Inhalts enthalten sind, nur für den Fall, dass SO GitHub überlebt (!) – jcb91

Verwandte Themen