Запуск ноутбука Jupyter в virtualenv (с разрешением вопроса) - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь запустить ноутбук jupyter в virtualenv на платформе облачных вычислений под управлением Linux, но не могу установить ipykernel для ноутбука jupyter.

Вот шаги, которые я сделал:

  1. Установите виртуальную среду для Python 3 в моем локальном хранилище. Тег --system-site-packages был использован, чтобы минимизировать размер папки виртуальной среды. Поэтому он должен наследовать глобальный Python 3.6 и библиотеки.

  2. Активировал виртуальную среду, установил sympy, запустил python3, import sympy и все заработало. (Обратите внимание, что без virtualenv pip не работает, поскольку у нас нет разрешения на запись в глобальную версию python)

  3. Пытался запустить jupyter notebook в той же виртуальной среде, но при попытке import sympy возвращает No module named 'sympy'. Использование print(sys.executable) показывает, что он работает на глобальном python3.6. (При запуске python3 в virtualenv и печати исполняемого файла он печатает путь python3 в myvirtualenv/bin/python3)

  4. Пытался следовать этим инструкциям. pip install jupyter и pip install ipykernel работали должным образом, говоря, что требование уже выполнено. Но python -m ipykernel install --user --name testenv --display-name "MyEnv" не работает, возвращая

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

, что меня действительно смущает, так как я думал, что тег --user должен сделать его уже установленным в моем локальном каталоге. Я также попытался указать путь моего virtualenv с помощью --prefix, но он все еще говорит, что у меня нет разрешения на доступ к системному kernel.json.

Я также пытался ipython kernel install --name "xx" --user и указывал путь с --prefix, но он возвращает ту же ошибку.

Итак, мой вопрос:

  1. Возникла ли эта ошибка, потому что, хотя ядро ​​ipython было установлено локально, kernel.json в системном каталоге все еще необходимо изменить? Или теги --user или --prefix по какой-то причине не работают?

  2. Как я могу создать ядро ​​действительно локально? Я полагаю, что после этого я могу создать свой собственный kernel.json, как в здесь или здесь , чтобы указывать ноутбуку jupyter использовать мое собственное ядро?

Заранее большое спасибо!

...