Я пытаюсь запустить ноутбук jupyter в virtualenv на платформе облачных вычислений под управлением Linux, но не могу установить ipykernel для ноутбука jupyter.
Вот шаги, которые я сделал:
Установите виртуальную среду для Python 3 в моем локальном хранилище. Тег --system-site-packages
был использован, чтобы минимизировать размер папки виртуальной среды. Поэтому он должен наследовать глобальный Python 3.6 и библиотеки.
Активировал виртуальную среду, установил sympy, запустил python3
, import sympy
и все заработало. (Обратите внимание, что без virtualenv pip не работает, поскольку у нас нет разрешения на запись в глобальную версию python)
Пытался запустить jupyter notebook
в той же виртуальной среде, но при попытке import sympy
возвращает No module named 'sympy'
. Использование print(sys.executable)
показывает, что он работает на глобальном python3.6. (При запуске python3
в virtualenv и печати исполняемого файла он печатает путь python3 в myvirtualenv/bin/python3
)
Пытался следовать этим инструкциям. 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
, но он возвращает ту же ошибку.
Итак, мой вопрос:
Возникла ли эта ошибка, потому что, хотя ядро ipython было установлено локально, kernel.json
в системном каталоге все еще необходимо изменить? Или теги --user
или --prefix
по какой-то причине не работают?
Как я могу создать ядро действительно локально? Я полагаю, что после этого я могу создать свой собственный kernel.json
, как в здесь или здесь , чтобы указывать ноутбуку jupyter использовать мое собственное ядро?
Заранее большое спасибо!