在virtualenv中运行jupyter笔记本(有权限问题)

时间:2018-05-08 19:51:06

标签: python linux jupyter-notebook virtualenv

我正在尝试在运行Linux的云计算平台上运行jupyter笔记本,但是我无法为jupyter笔记本安装ipykernel。

以下是我所做的步骤:

  1. 在我的本地存储空间安装python 3的虚拟环境。已使用标记--system-site-packages,以最小化虚拟环境文件夹的大小。所以它应该继承全局python 3.6和库。

  2. 激活虚拟环境,安装了sympy,启动了python3import sympy并且运行正常。 (注意,没有virtualenv,pip不起作用,因为我们没有权限写入python的全局版本)

  3. 尝试在同一虚拟环境中运行jupyter notebook,但尝试import sympy返回No module named 'sympy'。使用print(sys.executable)显示它正在全局python3.6上运行。 (在virtualenv中运行python3并打印可执行文件时,它会在myvirtualenv/bin/python3中打印python3的路径

  4. 试图按照these instructions. pip install jupyterpip install ipykernel正常工作,说要求已经满足。但python -m ipykernel install --user --name testenv --display-name "MyEnv"不起作用,返回

  5. [Errno 13] Permission denied: '/tmp/tmpc2ebdyp9_kernels/python3/kernel.json' Perhaps you want `sudo` or `--user`?

    这让我很困惑,因为我认为--user标签应该让它安装在我的本地目录中。我还尝试使用--prefix指定virtualenv的路径,但仍然说我无权访问系统kernel.json

    我还尝试ipython kernel install --name "xx" --user并使用--prefix指定路径,但它返回相同的错误。

    所以我的问题是:

    1. 是否出现此错误,因为即使本地安装了ipython内核,系统目录中的kernel.json仍然需要更改?或者标记--user--prefix由于某种原因无效?

    2. 如何在本地创建内核?我想在那之后我可以像herehere一样创建自己的kernel.json来指导jupyter笔记本使用我自己的内核?

    3. 提前多多感谢!

0 个答案:

没有答案