Я пытаюсь автоматизировать установку и включение расширения Jupyter, так что пользователю не нужно вводить команды:
jupyter nbextension install --user <my_fancy_module>
jupyter nbextension enable <the entry point> --user
Как описано в документации Jupyter Notebook , можно указать в setup.py
:
import setuptools
setuptools.setup(
name="MyFancyModule",
...
include_package_data=True,
data_files=[
# like `jupyter nbextension install --sys-prefix`
("share/jupyter/nbextensions/my_fancy_module", [
"my_fancy_module/static/index.js",
]),
# like `jupyter nbextension enable --sys-prefix`
("etc/jupyter/nbconfig/notebook.d", [
"jupyter-config/nbconfig/notebook.d/my_fancy_module.json"
])
],
...
zip_safe=False
)
Однако, когда я пытаюсь запустить pip install .
в каталоге пакета, установка заканчивается, но my_fancy_module
не устанавливается. Запуск:
jupyter nbextension install --user <my_fancy_module>
работает хорошо, так как он правильно копирует весь <my_fancy_module>
из моего каталога пакета в ~/Library/Jupyter/nbextensions/
.
Согласно Документация Python по установке дополнительных файлов :
data_files
указывает последовательность (каталог, файлы) (...) Каждая пара (каталог, файлы) в последовательности указывает каталог установки и файлы для установки в нем. (...) Каталог должен быть относительным путем . Он интерпретируется относительно префикса установки (Python sys.prefix
для системных установок; site.USER_BASE
для пользовательских установок).
My site.USER_BASE
указывает на ~/.local
.
Мой вопрос:
Как мне установить и включить my_fancy_package
изнутри setup.py
, чтобы я получил тот же результат, как если бы я выполнил две команды, упомянутые в начале? Если речь идет об указании data_files
- какой directory
следует указать tere для успешной установки и включения my_fancy_module
?
Я пытался:
"/Library/Jupyter/nbextensions/my_fancy_module"
, "../Library/Jupyter/nbextensions/my_fancy_module"
, "share/jupyter/nbextensions/my_fancy_module"
но ни один из них не работал.