在 MacO 和 Linux 上安装 win32com

Mez*_*z13 6 python linux macos pywin32 win32com

我的问题很简单:我可以在非 Windows 操作系统上安装win32compython API(特别是)吗?pywin32

我一直在Mac上尝试过多个版本pip install pywin32,都失败了。下面是一个例子:

在此输入图像描述

如果你设法在 Linux 上安装它,我也很感兴趣,因为我写了它。

我正在使用 python 3.7.8。

谢谢。

Cri*_*ati 5

Win32COM[GitHub] 的一部分:mhammond/pywin32 - pywin32
根据(上面的)URL,该软件包仅设计用于Win

Python for Win32 ( py win32 ) 扩展

所以,这是Win特定的(它从来没有打算用于其他操作系统)。

至于你的问题,从技术上讲,你可以将它安装在LinuxOSX上(可以通过一些手动步骤来实现),但这绝对没有什么区别,因为(即使安装了)它也不会这些平台上运行,因为它包含(组成)不在非Win OS上运行(无法由进程加载)的二进制文件 ( .dll ) 。

只需查看评论:[MS.Docs]: Office.MessageCompose 接口在OSX上可用,但是(很可能,如果还没有可用的Python包装器)您必须自己编写绑定(它们的示例是在JS中)。



附加(一般)信息

某些软件包仅适用于特定条件,基于以下限制标准:

  • 平台(操作系统CPU架构)

  • Python版本

  • ...

即使安装机制没有强制执行(这意味着它们最终可能以某种方式“安装”在它们不工作的平台上)。
无论如何,这些限制(应该)在包中提到(PyWin32的示例- 请参阅红色框):

  • PyPI页面

    图像0

  • 主页

    图像1

  • 其他资源例如:包的文档页面,如果有的话)

最重要的是,这样的包在超出其预期运行条件(即使可以安装)的情况下将无法工作,而且更多:当尝试运行它时,会产生一些可能不太清楚的错误消息。

有些软件包具有此类限制,但可以安装在它们之外:

    • Com类型

      • 错误:

        [cfati@cfati-5510-0:/mnt/e/Work/Dev/StackOverflow/q064975918]> python -c "import comtypes"
        Traceback (most recent call last):
          File "<string>", line 1, in <module>
          File "/home/cfati/.local/lib/python3.8/site-packages/comtypes/__init__.py", line 28, in <module>
            from _ctypes import COMError
        ImportError: cannot import name 'COMError' from '_ctypes' (/usr/lib/python3.8/lib-dynload/_ctypes.cpython-38-x86_64-linux-gnu.so)
        
        Run Code Online (Sandbox Code Playgroud)
      • 修复(改进):[GitHub]:enthought/comtypes - 改进非 Win 上的错误消息

    • WConio2

相关(或多或少):