使用运行 python2 内核的 Jupyter Notebook,我尝试导入emcee
,但收到一条错误消息:
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
显然是因为我正在使用 python2 内核。
然后我使用以下命令安装了 ipykernal:python3 -m pip install ipykernel
然后我使用 Python3 内核打开了一个 Jupyter Notebook。我试过了,但遇到了同样的问题。它仍然在 python2 路径中import emcee
寻找模块。emcee
然后我pip3 install emcee
打开了一个 Jupyter Notebook(python3 内核),但仍然遇到同样的问题。
我想我需要告诉 Jupyter Notebook 查找 emcee 的 python3 版本,但我不确定该怎么做。我刚刚尝试过:
export PYTHONPATH='/home/me/.local/lib/python3.6/site-packages/'
但同样,这并没有解决问题。我sys.path
在 Juoyter Notebook 中检查了,似乎没有添加新的 python 路径。
有人能告诉我我做错了什么吗?
答案1
Jupyter Notebook 实际上并没有使用 python3 内核,尽管它说它使用了:
我的python3内核位于:/home/damejia/.local/share/jupyter/kernels/python3
该kernel.json
文件为:
{
"argv": [
"python",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "Python 3",
"language": "python"
}
但是“python”只指向我的python2。我将“python”更改为“python3”,一切正常。