Anaconda 窗户上有蟒蛇的cython的断线包含路径

Anaconda 窗户上有蟒蛇的cython的断线包含路径,anaconda,cython,include-path,cythonize,Anaconda,Cython,Include Path,Cythonize,我和cython和anaconda有麻烦 为了便于讨论,我们假设我想要使用一个头文件,它是libxml2的一部分:xmlversion.h 我已经在构建环境中安装了带有anaconda的包libxml2,但是cythonize抱怨它找不到头文件 在进一步调查之后,我发现libxml的标题链接在文件夹中: C:\Miniconda3\envs\build-env\Library\include\libxml 但是,该路径不会自动添加到build命令中(请参见下文)。相反,将两次添加以下路径: C

我和cython和anaconda有麻烦

为了便于讨论,我们假设我想要使用一个头文件,它是
libxml2
的一部分:
xmlversion.h

我已经在构建环境中安装了带有anaconda的包
libxml2
,但是
cythonize
抱怨它找不到头文件

在进一步调查之后,我发现libxml的标题链接在文件夹中:

C:\Miniconda3\envs\build-env\Library\include\libxml
但是,该路径不会自动添加到build命令中(请参见下文)。相反,将两次添加以下路径:

C:\Miniconda3\envs\build-env\include
在我的机器上,
cythonize-3-a-i xmltest.pyx
生成的build命令如下:

C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Miniconda3\envs\build-env\lib\site-packages\lxml\includes -IC:\Miniconda3\envs\build-env\include -IC:\Miniconda3\envs\build-env\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt" "/TcC:\Users\My User\Documents\my_proj\xmltest.c" "/FoC:\Users\My User\Documents\my_proj\tmpy_5rengr\Release\Users\My User\Documents\my_proj\xmltest.obj"
xmltest.c
C:\Users\My User\Documents\my_proj\xmltest.c(621): fatal error C1083: Cannot open include file: 'libxml/xmlversion.h': No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2


注1:问题在merv的评论后被修改

我无法复制。也就是说,我还有一个带有
libxml2
的env(称之为
myenv
),它肯定有
envs/myenv/include/libxml2/libxml/
中的所有头文件,包括
xmlversion.h
。但是,我不在Windows上,所以请接受FWIW。@merv感谢您花时间进行调查。我发现这些头确实链接到环境,链接到
buildenv\Library\include
。但是,cython仅获取作为包含路径传递的
build env\include
。然而,这两次都被通过了!(详情请参见更新的OP。)