Beim Versuch, ein Jupyter-Notebook mit dem Python2-Kernel zu importieren, emcee
erhielt ich die folgende Fehlermeldung:
File "/home/me/.local/lib/python2.7/site-packages/emcee/ensemble.py", line 84
parameter_names: Optional[Union[Dict[str, int], List[str]]] = None,
^
SyntaxError: invalid syntax
anscheinend, weil ich den Python2-Kernel verwende.
Anschließend habe ich ipykernal mit folgendem Programm installiert:python3 -m pip install ipykernel
Ich habe dann ein Jupyter-Notebook mit dem Python3-Kernel geöffnet. Ich habe es erneut versucht, import emcee
aber ich hatte das gleiche Problem. Es suchte immer noch nach dem emcee
Modul im Python2-Pfad.
Ich habe dann pip3 install emcee
ein Jupyter-Notebook (Python3-Kernel) geöffnet, aber ich habe immer noch das gleiche Problem.
Ich glaube, ich muss Jupyter Notebook anweisen, nach der Python3-Version von Emcee zu suchen, aber ich bin nicht sicher, wie das geht. Ich habe gerade Folgendes versucht:
export PYTHONPATH='/home/me/.local/lib/python3.6/site-packages/'
Aber auch das hat das Problem nicht behoben. Ich habe sys.path
in meinem Jupyter-Notebook nachgesehen und der neue Python-Pfad schien nicht hinzugefügt worden zu sein.
Kann mir bitte jemand sagen, was ich falsch mache?
Antwort1
Das Jupyter-Notebook verwendete den Python3-Kernel nicht wirklich, obwohl es dies behauptete:
Mein Python3-Kernel befand sich:/home/damejia/.local/share/jupyter/kernels/python3
Die kernel.json
Datei war:
{
"argv": [
"python",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "Python 3",
"language": "python"
}
Aber „python“ verweist nur auf mein Python2. Ich habe „python“ in „python3“ geändert und alles hat funktioniert.