在 Windows 中,Dropbox 客户端使用 python25.dll 和 MS C 运行时库(msvcp71.dll 等)。在 OS X 上,Python 代码是编译后的字节码 (pyc)。
我的猜测是他们使用的是他们编写的通用库,然后只需要为不同的平台使用不同的钩子(Hook)。
这是什么开发方式?它显然不是 IronPython 或 PyObjC。这种范式对我很有吸引力,但是我的 CS foo 和 Google foo 让我失望了。
最佳答案
Dropbox 在 Mac 上使用了 wxPython 和 PyObjC 的组合(0.8 系列中少了 wxPython)。看起来他们已经构建了一些 UI 抽象层,但并没有压倒一切——也就是说,他们正在以正确的方式开发跨平台应用程序。
它们包含自己的 Python,主要是因为 Mac 上包含的 Python 版本因操作系统版本而异(Dropbox 支持回溯到 10.4 IIRC);此外,他们还稍微定制了 Python 解释器以改进线程和 I/O 行为。
(我不为 Dropbox 工作,也没有任何内部知识;我所做的只是阅读他们的论坛并检查 Dropbox 应用程序包中 site-packages.zip
中的文件名。)
关于python - Dropbox 如何在 Windows 和 OS X 上使用 Python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2678180/