隐藏/锁定Azure / Jupyter笔记本中的单元格

时间:2019-12-09 08:50:17

标签: python azure jupyter-notebook jupyter

我制作了一些jupyter笔记本来处理客户端的某些工作流程,我希望以这样的方式进行部署:客户端无法看到或修改我编写的代码/功能。由于他们对python的了解有限,因此不能访问函数并进行修改很重要,其次,要阻止它们被共享或出售(尽管可能性很小)。他们可以在anaconda / jupyter笔记本/ lab中运行笔记本,也可以通过Azure笔记本或某种jupyter集线器设置来运行笔记本。

该代码主要由一些函数组成,这些函数在调用时会显示ipywdiget,客户端可以在其中选择几个显示数据或运行不同计算的选项。因此,如果他们只看到最佳的小部件。我知道可以切换单元格或隐藏输入,但这很容易解决,他们可以获取代码。是否可以使用存储在无法访问或修改的py文件中的magic调用函数?还有其他方法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

也许将您的代码放在一个或多个外部模块中,然后进行混淆 模块。看到这里:

How to obfuscate Python code effectively?

您不能阻止客户端修改“启动代码” 导入一个外部模块并调用 模块中的某些内容,但是您可以警告/询问它们不要这样做。东西 就像这张屏幕截图中一样

enter image description here

来自https://github.com/flatironinstitute/mfa_jupyter_for_programming/blob/master/notebooks/Jupyter%20as%20a%20calculator.ipynb