2016-07-05 8 views
1

Regular PyCharm, Anaconda und Jupyter Benutzer, aber zum ersten Mal ein Projekt, das ich fange an, die sie alle spielen zusammen mit mit profitieren würden:Umwelt Munging in Anaconda, PyCharm und Jupyter Notebooks? Keine solche Datei oder das Verzeichnis: ‚Conda‘

Ich habe eine richtig konfigurierte Anaconda jedoch innerhalb PyCharm Umgebung ausgeführt wird, wenn ich versuche, ipynb Notebooks zu starten (diese Arbeit sehr gut in jupyter notebook aus PyCharm, bekomme ich ...

/home/bolster/anaconda3/bin/python3.5 /home/bolster/anaconda3/bin/jupyter-notebook --no-browser --ip 127.0.0.1 --port 8888 
[W 12:33:12.515 NotebookApp] Unrecognized JSON config file version, assuming version 1 
[W 12:33:12.519 NotebookApp] Config option `matplotlib` not recognized by `NotebookApp`. 
[W 12:33:12.521 NotebookApp] Config option `matplotlib` not recognized by `NotebookApp`. 
Traceback (most recent call last): 
    File "/home/bolster/anaconda3/bin/jupyter-notebook", line 6, in <module> 
    sys.exit(notebook.notebookapp.main()) 
    File "/home/bolster/anaconda3/lib/python3.5/site-packages/jupyter_core/application.py", line 267, in launch_instance 
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs) 
    File "/home/bolster/anaconda3/lib/python3.5/site-packages/traitlets/config/application.py", line 595, in launch_instance 
    app.initialize(argv) 
    File "<decorator-gen-7>", line 2, in initialize 
    File "/home/bolster/anaconda3/lib/python3.5/site-packages/traitlets/config/application.py", line 74, in catch_config_error 
    return method(app, *args, **kwargs) 
    File "/home/bolster/anaconda3/lib/python3.5/site-packages/notebook/notebookapp.py", line 1069, in initialize 
    self.init_configurables() 
    File "/home/bolster/anaconda3/lib/python3.5/site-packages/notebook/notebookapp.py", line 837, in init_configurables 
    parent=self, 
    File "/home/bolster/anaconda3/lib/python3.5/site-packages/nb_conda_kernels/manager.py", line 19, in __init__ 
    specs = self.find_kernel_specs() or {} 
    File "/home/bolster/anaconda3/lib/python3.5/site-packages/nb_conda_kernels/manager.py", line 129, in find_kernel_specs 
    self.conda_info = self._conda_info() 
    File "/home/bolster/anaconda3/lib/python3.5/site-packages/nb_conda_kernels/manager.py", line 29, in _conda_info 
    p = subprocess.check_output(["conda", "info", "--json"] 
    File "/home/bolster/anaconda3/lib/python3.5/subprocess.py", line 629, in check_output 
    **kwargs).stdout 
    File "/home/bolster/anaconda3/lib/python3.5/subprocess.py", line 696, in run 
    with Popen(*popenargs, **kwargs) as process: 
    File "/home/bolster/anaconda3/lib/python3.5/subprocess.py", line 950, in __init__ 
    restore_signals, start_new_session) 
    File "/home/bolster/anaconda3/lib/python3.5/subprocess.py", line 1544, in _execute_child 
    raise child_exception_type(errno_num, err_msg) 
FileNotFoundError: [Errno 2] No such file or directory: 'conda' 

ich habe das Gefühl, dass dies, weil PyCharm nicht zu versuchen, Starten Sie das Notebook in einer "echten" Benutzerumgebung und als solche nicht bekommen meine $ PATH-Importe (in .profile), wie auch immer Da dies keine "Run Configuration" ist, kann ich keine Möglichkeit sehen, auf die IDE zu zeigen, damit sie in den richtigen Pfad für die ausführbare Datei conda schauen kann.

jedoch wenn ich einen Link zu dem Conda ausführbaren /usr/bin/ hinzufügen, es funktioniert, aber dies ist ein Auftrag von hackery über ein kooperatives Projekt, das ich bin nicht ganz glücklich mit. Gibt es eine Möglichkeit, PyCharm zu zwingen, an der richtigen Stelle zu suchen oder zumindest die intern-globalen Umgebungsvariablen zu aktualisieren, um zu vermeiden, dass die Mitarbeiter, die sie von ihrer Benutzerland-Umgebung zu den Root-Bins verbinden müssen, ernsthafte Auskunft geben müssen?

+0

Ich benutze Python 2.7 und Anaconda2 und ich hatte einen ähnlichen Fehler. Als ich die Conda-Umgebung auf eine andere umstellte, kam das Notebook auf den Markt. Obwohl mein Fehler vom Entfernen von Conda-Build und Conda-Env war, konnte ich Pakete über Conda auf meiner Umgebung installieren. – vsachar

Antwort

1

Jede vom Terminal gestartete Anwendung erbt alle Eigenschaften vom Terminal. Wenn Sie PyCharm den nicht-terminalen Weg starten, dann wird der $ PATH, der in der .profile definiert ist, nicht vererbt und daher der Standard $ PATH.

Begann die PyCharm von der Shell und dann $ PATH von der. Profil wurde vererbt. Jetzt kann PyCharm Conda im Pfad finden.

Eine andere Möglichkeit besteht darin, eine SH-Datei in mit der PATH-Variable zu erstellen. Diese Variablen sind systemweit. Daher muss PyCharm jetzt nicht mehr vom Terminal aus gestartet werden.

Der Grund für ein solches Verhalten und alternative Lösungen sind in this StackOverflow Post angegeben.

Hoffe, das hilft!