2016-02-09 3 views
3

У меня есть собственное ядро ​​Jupyter, которое запускает IPython с использованием пользовательского профиля IPython, который использует таблицу стилей matplotlib.Как разместить пользовательские ядра Jupyter внутри виртуальной среды?

я знаю, чтобы запустить это успешно, как правило, я бы поставил:

  • Matplotlib стилей в ~/.config/Matplotlib/stylelib/

  • Профиль IPython в ~/.ipython/

  • ядро ​​JSON в ~/.jupyter/ядра/my_kernel/

Но я делаю это как часть более крупной программы, которая работает в virtualenv, и, если я положу вещи, как указано выше, любой сервер ноутбуков, запущенный на компьютере, сможет видеть пользовательские ядра, даже если он работает за пределами venv , Я не понимаю, потому что я не хочу, чтобы моя программа мешала другим ноутбукам на компьютере.

Я думаю, что мне нужно сделать вещи выше, чем где-то эквивалентные внутри вен, но я не могу понять, куда они должны идти. Кто-нибудь знает, куда они пойдут? Или это просто вещь, которую IPITON/Юпитер не может/не будет делать?

Возможно, стоит упомянуть, что в случае таблицы стилей, например, я не хочу просто помещать ее в рабочий каталог моей программы (который является одним из вариантов предложения matplotlib).

ответ

3

Вы можете установить kernelspecs в VIRTUAL_ENV/share/jupyter/kernels/, и они будут доступны, если сервер ноутбука запущен в этом env. В общем, <sys.prefix>/share/jupyter/kernels включен в путь поиска kernelspecs.

Вы можете увидеть различные места Jupyter будут выглядеть, вы можете увидеть выход jupyter --paths:

$ jupyter --paths

config: 
    /Users/you/.jupyter 
    /Users/you/env/etc/jupyter 
    /usr/local/etc/jupyter 
    /etc/jupyter 
data: 
    /Users/you/Library/Jupyter 
    /Users/you/env/share/jupyter 
    /usr/local/share/jupyter 
    /usr/share/jupyter 
runtime: 
    /Users/you/Library/Jupyter/runtime 

Kernelspecs считаются data files, и будет найден в любом из эти каталоги, перечисленные под data:, в подкаталоге kernels, например /usr/local/share/jupyter/kernels.

+0

Это сработало! Благодарю. Я знал, что это что-то вроде этого, но не может определить точный каталог. 'jupyter --paths' и тот факт, что kernelspecs считаются файлами данных, я отсутствовал. –

Смежные вопросы