Jupyter简单的前端按钮javascript无法验证

时间:2017-08-06 04:26:59

标签: jupyter-notebook jupyter

我正在尝试创建简单的笔记本前端扩展,如此处所述

http://jupyter-notebook.readthedocs.io/en/latest/extending/frontend_extensions.html

这就是我所拥有的

~$ cat /home/usr/.local/lib/python2.7/site-packages/my_fancy_module/static/main.js // file my_extension/main.js

define([
    'base/js/namespace' ], function(
    Jupyter ) {
    function load_ipython_extension() {

        var handler = function () {
            alert('this is an alert from my_extension!');
        };

        var action = {
            icon: 'fa-comment-o', // a font-awesome class used on buttons, etc
            help    : 'Show an alert',
            help_index : 'zz',
            handler : handler
        };
        var prefix = 'my_extension';
        var action_name = 'show-alert-usr';

        var full_action_name = Jupyter.actions.register(action, action_name, prefix); // returns 'my_extension:show-alert'
        Jupyter.toolbar.add_buttons_group([full_action_name]);
    }

    return {
        load_ipython_extension: load_ipython_extension
    }; });

当我尝试安装时,我收到验证错误

$ jupyter nbextension enable  /home/usr/.local/lib/python2.7/site-packages/my_fancy_module/static/main.js
--user Enabling notebook extension /home/usr/.local/lib/python2.7/site-packages/my_fancy_module/static/main.js...
      - Validating: problems found:
        - require?  X /home/usr/.local/lib/python2.7/site-packages/my_fancy_module/static/main.js

我是Python笔记本的新手。

其他信息/问题:

当我pip安装了my_fance_module时,它没有复制静态目录和里面的.js文件。之后我不得不手动将它们复制到〜/ usr / .local / path。

这是我的目录结构

.local/lib/python2.7/site-packages/my_fancy_module
-- __init__.py
   |static
    --- main.js

此外,在安装此main.js并运行服务器和笔记本后,仅显示main.js,并且不再在浏览器上显示我的笔记本。

1 个答案:

答案 0 :(得分:0)

你试过吗?

jupyter nbextension install /home/usr/.local/lib/python2.7/site-packages/my_fancy_module/static/main.js --sys-prefix

之前;

jupyter nbextension enable /home/usr/.local/lib/python2.7/site-packages/my_fancy_module/static/main.js

您还在使用什么版本的Jupyter?因为您指定的路径似乎是它随附的系统默认Python 2.7。如果您正在为Jupyter笔记本开发,那么我认为首先安装Anaconda然后通过它conda install notebook安装Jupyter笔记本是明智的,然后将文件迁移到Anaconda目录。如果这不适合你,请告诉我。