(已解决)踩坑记录:Windows 11安装pointops编译时报错

正常来说,在命令行使用以下步骤进行编译安装:

复制代码
cd Pointcept/libs/pointops
python setup.py install

但是Windows系统下,会出现各种报错如下:

报错一:AttributeError

AttributeError: 'NoneType' object has no attribute 'split'

解决方案为修改Pointcept/libs/pointops/setup.py文件,将下面的代码

python 复制代码
(opt,) = get_config_vars("OPT")
os.environ["OPT"] = " ".join(
    flag for flag in opt.split() if flag != "-Wstrict-prototypes"
)

替换为

python 复制代码
(opt,) = get_config_vars("OPT")
# os.environ["OPT"] = " ".join(
#     flag for flag in opt.split() if flag != "-Wstrict-prototypes"
# )

报错二:PyTorch与CUDA不兼容

The detected CUDA version (12.2) mismatches the version that was used to compile PyTorch (11.3). Please make sure to use the same CUDA versions.

解决方案为使用匹配的PyTorch与CUDA,本人版本为:CUDA11.3+torch1.11.0+VS2019(VS版本很重要,后面会有)

不一定非要和我的版本号一致,但是一定要确保安装torch时,不要使用太高版本的CUDA,我使用12.x的CUDA环境安装torch,会显示编译torch时使用的CUDA版本过高,影响后续操作。

报错三:MSVC编译失败

报错内容特别长,但是最关键的内容只有:

fatal error C1189: #error: -- unsupported Microsoft Visual Studio version! Only the versions between 2017 and 2019 (inclusive) are supported!

或者提示没有安装 Windows 必需的 C++ 编译工具(cl.exe),所以 ninja 编译器根本找不到 C 语言编译器等等(这个应该只是警告)

之前本机只安装了VS2022,尝试过卸载MSVC2022只安装MSVC2019,从VS2022的命令行编译,失败。最后的解决方案是下载VS2019(可以与2022共存,下载地址:Visual Studio 2026/2022/2019/2017 Web Installer Direct download link),然后使用x64 Native Tools Command Prompt for VS 2019进行编译。

编译前输入下面的代码(解决C++和python的环境冲突)

python 复制代码
set DISTUTILS_USE_SDK=1

再次尝试编译,结果如下图,完结撒花。

相关推荐
泡海椒10 小时前
JQuick-SQL 快速开始:注册内存表并执行查询
数据库·windows·sql
钱栈up13 小时前
耳机音效不对,我顺手查了系统更新,结果挖出个崩溃了整天的服务
windows·shell
xiao77mwq13 小时前
Wireshark 在 Windows 上没法按进程抓包,我补了一条路
windows
Helix25014 小时前
MDT自动化部署实战:构建企业级Windows批量装机与PXE网络引导环境
windows·mdt自动化部署·wds网络启动·pxe引导·windows批量装机·任务序列·无人值守安装
学IT的周星星15 小时前
记忆系统:让 Agent 记住你是谁、上次聊到哪
运维·服务器·人工智能·windows·大模型·llm·agent
撞强16 小时前
Windows 上从零开始:Obsidian + Copilot(Icompify)+ 客户洞察实战 · 图文指南
windows·copilot·obsidian·icompify
weixin_5716674117 小时前
Windows 通过 SSH 反向隧道向 Ubuntu 转发代理
linux·运维·windows·代理
事圆则缓18 小时前
Kotlin 集合与序列:给页面一份清楚的数据
开发语言·windows·kotlin
遇印记18 小时前
应用层,网络管理
运维·网络·windows·学习·安全
硫酸锌0120 小时前
安卓手机连接Windows电脑后通过DHCP服务为手机分配IP地址
android·windows·计算机网络