python - Dropbox 如何在 Windows 和 OS X 上使用 Python?

标签 python windows macos dropbox

在 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/

相关文章:

Python,导入错误 : undefined symbol: g_utf8_skip

python - 从集合继承。计数器: 'fromkeys' is abstract

python - 将 Perl 正则表达式转换为 python 正则表达式

windows - 为什么 .Bat 文件在本地可以正常工作,但在远程调用时却无法工作?

macos - 使用 AppleScript 设置窗口位置

python - 把一行拆分成一个字典,里面有多层键值对

c++ - 避免窗口标题

c++ - LPCSTR、LPCTSTR 和 LPTSTR

macos - 如何从 Mac 卸载 Sencha Cmd v6.0.0.202?

swift - NSLayoutManager 在 NSTextView 中为 mousePosition 返回错误的 glyphIndex