我有几个小的Python库,我写的东西,我发现自己一遍又一遍地想要。我认为大多数程序员都有类似的东西。我想从各种不同的机器中使用这些库,所以我开始在DropBox中保存这些东西。但是,我希望能够在我无法安装DropBox或其他云存储应用程序的机器上使用我的代码,即使是以便携式形式。我可以在每次更改文件时下载文件(DropBox可以为我公共文件夹中的每个文件提供一个URL),这只是一个中等的麻烦。但是 - 而且我承认这是一个远景 - 那里有一个解决方案,让我告诉Python通过http从我的DropBox加载一个库吗?
顺便说一下,我想将整个删除文件夹添加到我的sys.path中,但是getting a URL for a folder is complicated,所以在我开始使用单个文件之前我会尝试走路。
答案 0 :(得分:0)
是的,这是可能的。我想你想要结合前两个问题:
因此,您的任务基本上分解为编写一些粘合代码:通过第一个项目符号下载URL,将其写入本地文件,然后使用第二个项目符号导入该文件。
这就是你如何做到的。
但是 - 请记住,动态下载和执行代码有许多潜在的安全隐患。你会通过安全连接这样做吗?还有谁能够操纵该URL?在运行中下载和执行代码时存在许多固有的安全问题。我会请你考虑以不同的方式解决你的解决方案,但我会给你你要求的答案。
作为一个简单的安全检查,您可以为您的文件建立一个已知良好的哈希值,然后拒绝导入除已知良好哈希值列表之外的任何文件。这使得更新模块变得很痛苦,但是给你一点额外的安全性。
答案 1 :(得分:0)
master
develop
分支,您可以在其中进行每项更改master
master
分支中拉出(并且可能会重新启动一些Python进程,因为再次导入同一个模块不会使Python解释器知道更改,因为导入的模块是缓存)