Anaconda 窗户上有蟒蛇的cython的断线包含路径
我和cython和anaconda有麻烦 为了便于讨论,我们假设我想要使用一个头文件,它是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
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。)