为什么Windows上的Cython扩展依赖于pythonXX.dll但不是在MacOSX上?

2024-09-28 05:23:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我在windows和mac上构建了相同的库(下面的示例来自rfoo),mac版本只有系统依赖性

$ otool -L marsh.so 
marsh.so:
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)

在windows上,它依赖于python的dll

>dumpbin /dependents marsh.pyd
Microsoft (R) COFF/PE Dumper Version 12.00.31101.0
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file marsh.pyd

File Type: DLL

  Image has the following dependencies:

    python25.dll
    MSVCR120.dll
    KERNEL32.dll

我想知道这是不是一个实现的选择,并不是真正由于windows,或者如果有一些特定的windows需要这样做。你知道吗

Context:我使用它从使用旧python版本的abletonlive的嵌入式解释器中加载python扩展;但最糟糕的是python不是作为库加载的,而是在软件中静态链接的。在mac上,这不是问题,我仍然可以加载扩展。在windows上,我不能这样做,因为我必须链接到python25.dll,但是在加载时它会再次尝试初始化解释器,这会给出一个错误,因为Ableton Live没有使用该dll。我想知道是否有希望让它在windows上工作。你知道吗


Tags: 版本示例so链接versionwindowsmac系统

热门问题