我制作了一些jupyter笔记本来处理客户端的某些工作流程,我希望以这样的方式进行部署:客户端无法看到或修改我编写的代码/功能。由于他们对python的了解有限,因此不能访问函数并进行修改很重要,其次,要阻止它们被共享或出售(尽管可能性很小)。他们可以在anaconda / jupyter笔记本/ lab中运行笔记本,也可以通过Azure笔记本或某种jupyter集线器设置来运行笔记本。
该代码主要由一些函数组成,这些函数在调用时会显示ipywdiget,客户端可以在其中选择几个显示数据或运行不同计算的选项。因此,如果他们只看到最佳的小部件。我知道可以切换单元格或隐藏输入,但这很容易解决,他们可以获取代码。是否可以使用存储在无法访问或修改的py文件中的magic调用函数?还有其他方法吗?
谢谢
答案 0 :(得分:0)
也许将您的代码放在一个或多个外部模块中,然后进行混淆 模块。看到这里:
How to obfuscate Python code effectively?
您不能阻止客户端修改“启动代码” 导入一个外部模块并调用 模块中的某些内容,但是您可以警告/询问它们不要这样做。东西 就像这张屏幕截图中一样