Python 使用MSVC Cython扩展构建的控制盘找不到模块

Python 使用MSVC Cython扩展构建的控制盘找不到模块,python,cython,python-wheel,Python,Cython,Python Wheel,我正试图从GNU+mingwpy切换到MSVC工具链来构建我的轮子,其中包括一个围绕二进制文件的Cython包装器 我在Appveyor中使用MSVC工具链构建了外部DLL,在Appveyor中,我还完成了轮子构建步骤。构建步骤完成后,我将通过执行以下操作进行测试: 安装和激活干净的virtualenv 安装依赖项 安装我刚造的轮子 正在运行name 然而,这一点现在正在失败: =========================================================

我正试图从GNU+mingwpy切换到MSVC工具链来构建我的轮子,其中包括一个围绕二进制文件的Cython包装器

我在Appveyor中使用MSVC工具链构建了外部DLL,在Appveyor中,我还完成了轮子构建步骤。构建步骤完成后,我将通过执行以下操作进行测试:

  • 安装和激活干净的virtualenv
  • 安装依赖项
  • 安装我刚造的轮子
  • 正在运行
    name
然而,这一点现在正在失败:

======================================================================
ERROR: Failure: ImportError (No module named cutil)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Miniconda\envs\test_env\lib\site-packages\nose\loader.py", line 418, in loadTestsFromName
    addr.filename, addr.module)
  File "C:\Miniconda\envs\test_env\lib\site-packages\nose\importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "C:\Miniconda\envs\test_env\lib\site-packages\nose\importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "C:\projects\simplification\simplification\test\test.py", line 5, in <module>
    from simplification.cutil import simplify_coords as csimplify_coords
ImportError: No module named cutil
----------------------------------------------------------------------
其中,
rdp.dll
是我用Cython包装的外部二进制文件。 这里怎么了

更新:我的模块还可以使用
Ctypes
导入二进制文件,当我在测试脚本中禁用Cython特定的导入和测试时,一切正常。所以我知道我的外部二进制文件是好的。我仍然对导入失败的原因感到困惑,特别是当
cutil.pyd
的Cython构建步骤完成时,dumpbin说它正在正确的位置(即在同一目录中)查找其
rdp.dll
依赖项

更新2:在使用GNU工具链构建的
cutil.pyd
上运行
dumpbin

Dump of file simplification/cutil.pyd
File Type: DLL
  Image has the following dependencies:
    msvcr90.dll
    python27.dll
    KERNEL32.dll
    USER32.dll
    rdp.dll
  Summary
        1000 .CRT
        1000 .bss
        3000 .data
        1000 .edata
        2000 .idata
        1000 .pdata
        4000 .rdata
        1000 .reloc
        1000 .rsrc
       1E000 .text
        1000 .tls
        1000 .xdata

但是我不知道依赖顺序是否重要,或者
摘要
部分中的元数据是否重要

这似乎是康达安装的virtualenv的一个问题。我不知道如何修复它,所以我停止使用conda安装的virtualenv。

只是为了澄清:它与GNU+mingwpy一起工作?@DavidW是的,在我切换二进制文件和轮子构建工具链之前,它工作得非常好。
Dump of file simplification/cutil.pyd
File Type: DLL
  Image has the following dependencies:
    msvcr90.dll
    python27.dll
    KERNEL32.dll
    USER32.dll
    rdp.dll
  Summary
        1000 .CRT
        1000 .bss
        3000 .data
        1000 .edata
        2000 .idata
        1000 .pdata
        4000 .rdata
        1000 .reloc
        1000 .rsrc
       1E000 .text
        1000 .tls
        1000 .xdata