如何使用私密代码共享Google Colab


问题内容

我想共享一个Google
colab笔记本,但需要隐藏部分代码。是否可以将私有代码放在单独的.py或Colab笔记本中,然后将其导入,以便那些有权访问公共Colab笔记本的人看不到私有.py或Colab笔记本?

提前谢谢了。


问题答案:

并不是的; 您隐藏代码的能力仅与用户 无法 检查代码的能力一样好:

import some_file # your private .py

from inspect import getsource
print(getsource(some_file))

底线将打印文件的 整个源代码 -无论它是如何导入的。

如果 您不希望您的用户知道或知道这一点(不是安全的选择),那么可以,您可以通过自我验证请求将导入运行到用户无法访问的存储(例如云端硬盘,Google
Cloud Bucket) ,但这将涉及很多步骤(我不知道这些步骤)。

请参阅此SO,以获取有关隐藏代码的更多信息,以及使检查更加困难的一些特定方法。


更新 :一种解决方法是在 只读 模式下共享,在该模式下可以执行但不能编辑单元格-
有关几种方法,请参见此SO。请注意,这仍然不能使您的代码完全私有,但是链接中的某些方法可能很难规避(要求黑客入侵)-有效而成功。