具体情况是git上下了一个库然后准备用pip install .来本地安装,结果报了以上错误
gpt:
这个问题通常是因为构建Python轮子(wheels)时缺少必要的编译环境或依赖。当你尝试安装一个包含pyproject.toml文件的Python项目时,该文件指定了项目所需的构建系统和依赖。如果本地环境中缺少这些依赖,或者编译器配置不正确,就会导致无法构建轮子。
解决这个问题的可能方法包括:
确保你的系统上安装了正确的编译工具,例如gcc或Visual Studio。
安装项目构建所需的依赖库,这些信息通常在pyproject.toml或项目的文档中指定。
更新或安装Python的wheel包:pip install --upgrade wheel
使用Python虚拟环境来隔离和管理依赖。
检查这些配置并确保所有必需的工具和库都已正确安装,通常可以解决这个问题。
试了一下这个,不知道起没起到作用
重要的是,不要怕一大长串的报错,要找到fatal error
F:\BOTH2Hands\mesh\mesh\src\AABB_n_tree.h(9): fatal error C1083: 鏃犳硶鎵撳紑鍖呮嫭鏂囦欢: 鈥淐GAL/AABB_tree.h鈥\x9d: No such file or directory
问了gpt说是 "CGAL/AABB_tree.h" 文件找不到(进到AABB_n_tree.h(9)也能看),简单来讲就是缺cgal,gpt提示可以用
conda install -c conda-forge cgal
装完后新的报错
F:\BOTH2Hands\mesh\mesh\src\AABB_n_tree.h(9): fatal error C1083: 无法打开包括文件: “CGAL/AABB_tree.h”: No such file or directory
是路径配置原因导致编译的时候找不到,解决方法:
然后又是新报错F:\BOTH2Hands\mesh\mesh\src\AABB_n_tree.h(11): fatal error C1083: 无法打开包括文件: “CGAL/internal/AABB_tree/nearest_point_triangle_3.h”: No such file or directory
我看了一眼,安装的cgal里确实没有这个文件
但是在查看setup.py的时候我发现里面有关于cgal的版本信息,确实和我目前的cgal版本不一样,conda search了一下发现没有匹配的版本,所以只能靠别的途径安装
没有尝试,因为我发现我并不刚需psbody-mesh,只需要保留可视化前的结果就可以了
后来又想到了一个问题,稍微仔细看一眼setup.py就会发现里面有关于解压自带的CGAL-4.7.tar.gz的内容,说明至少cgal是不需要我们自己准备的,那是哪个环节出了问题呢
唉,看了眼issue,果然又是windows不兼容的问题