依赖于Python OS的库:Windows 7 SUA

时间:2014-07-25 14:12:02

标签: python windows sua

在阅读Python文档时,许多库/函数表明它们的工作方式不同,或根本不工作,具体取决于操作系统。

大多数库取决于操作系统是否符合POSIX或Win32。

  • 当使用带有Windows-7的SUA软件包时,这是否允许python启用/更改它们 Posix依赖的功能?

如果是这样;充分?部分?静不定/未测试?

如果前面三个案例中的任何一个都是,那么python是否会自动采用新的posix-os行为,或者它是否采用标准的win32-os(意味着它必须配置,或者甚至可以编译)以启用Posix 模式)?


备注

  • 我目前正在使用微软提供的SUA utils / SDK,目前没有其他第三方。

  • 为了记录,我使用过Cygwin / MinGW,并且发现它们非常有用,但是对于这个问题的范围,我们只能说它们无法部署(即使我可能会在以后)。我试图发现深度 SUA是如何真正集成的,以及它是否与典型的python安装有关。

1 个答案:

答案 0 :(得分:1)

不,安装基于Unix的应用程序的子系统(Windows Services for Unix)不会以任何方式改变Python的二进制发行版的行为。您尝试使用的Python版本必须专门构建,以支持Windows POSIX子系统,以便利用它。

在这方面,微软的POSIX子系统与Cygwin没有什么不同。如果下载并安装CPython的标准Windows二进制发行版,如果稍后安装Cygwin,其行为将不会更改。如果您希望Python程序利用Cygwin的Unix仿真环境,则必须下载安装Cygwin版本的CPython。另请注意,Cygwin版本的Python失去了很多(如果不是全部)标准Windows版CPython的Windows特定功能。

您还应该知道许多流行的第三方Python模块都依赖于C扩展模块。必须为您正在使用的特定Python版本构建这些模块。虽然其中许多模块支持标准的Windows CPython发行版,而很少支持Cygwin,但您需要自己为POSIX子系统编译它们。