Come eseguire iPython Notebook come servizio

7

Quale sarebbe il miglior modo "standard" per creare uno script launchd per eseguire python notebook ?

Vorrei che il servizio iniziasse all'accesso e che fosse facile riavviare il server da un terminale.

    
posta Cedric H. 04.11.2015 - 11:35
fonte

2 risposte

7

Alla fine ho creato il seguente file .plist. Viene caricato automaticamente all'avvio e avvierà un blocco jupiter e lo manterrà attivo.

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
      <plist version="1.0">
      <dict>
          <key>KeepAlive</key>
          <true/>
          <key>Label</key>
          <string>cern.chernals.ipython</string>
          <key>ProgramArguments</key>
          <array>
              <string>/usr/local/bin/jupyter-notebook</string>
          </array>
          <key>RunAtLoad</key>
          <true/>
          <key>StandardErrorPath</key>
          <string>/Users/chernals/Library/LaunchAgents/jupyter-notebook.stderr</string>
          <key>StandardOutPath</key>
          <string>/Users/chernals/Library/LaunchAgents/jupyter-notebook.stdout</string>
              <key>KeepAlive</key>
              <true/>
      </dict>
      </plist>
    
risposta data 09.11.2015 - 14:16
fonte
1

Sono un principiante di macOS e ho trovato la risposta accettata molto utile. L'ho modificato per non avviare un browser all'avvio e anche per iniziare nella directory ~ / jupyter dove ripongo la maggior parte dei miei taccuini.

Per riferimento futuro, il modo per farlo iniziare è inserire i dati xml in un file nella directory ~ / Library / LaunchAgents, ad es. ~ / Library / LaunchAgents / org.jupyter.notebook.plist.

Il plist che ho trovato è stato il seguente.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>org.jupyter.notebook</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/jupyter-notebook</string>
        <string>--no-browser</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>StandardErrorPath</key>
    <string>/Users/rickard/Library/LaunchAgents/org.jupyter.notebook.stderr</string>
    <key>StandardOutPath</key>
    <string>/Users/rickard/Library/LaunchAgents/org.jupyter.notebook.stdout</string>
    <key>KeepAlive</key>
    <true/>
    <key>WorkingDirectory</key>
    <string>/Users/rickard/jupyter</string>
</dict>
</plist>

Non ho trovato un modo per non dover codificare la directory home dell'utente lì - l'opzione EnableGlobbing funziona solo in ProgramArgument, e non c'è espansione di variabile di ambiente, quindi per ora deve essere lì .

    
risposta data 30.12.2016 - 18:49
fonte

Leggi altre domande sui tag