繁体   English   中英

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

[英]Hiding / locking cells in Azure / Jupyter notebooks

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

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

谢谢

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

如何有效地混淆 Python 代码?

您无法阻止客户端修改导入外部模块并调用模块中某些内容的“启动代码”,但您可以警告/要求他们不要这样做。 类似于这个截图

在此处输入图片说明

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM