差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
机器人:graspnet:anygrasp的安装部署 [2025/11/13 11:09] – 创建 ctbots机器人:graspnet:anygrasp的安装部署 [2025/11/14 01:03] (当前版本) – [找不到 libcrypto.so.1.1] ctbots
行 1: 行 1:
 +{{htmlmetatags>metatag-robots=(index, follow)
 +metatag-keywords=(anygrasp, 安装部署, MinkowskiEngine, PyTorch安装, gcc9, sklearn报错, Python版本兼容性, numpy版本错误, pointnet2导入错误)
 +metatag-description=(获取详细的指南,了解如何成功安装和部署AnyGrasp,包括解决MinkowskiEngine、PyTorch版本选择、gcc9编译问题以及常见错误如sklearn、numpy版本错误和pointnet2导入错误的解决方案。)
 +metatag-media-og:image=(:wiki:anygrasp-install-guide.jpg)
 +metatag-og:description=(探索如何克服安装AnyGrasp时遇到的各类障碍,从选择合适的Python和PyTorch版本到解决gcc9编译错误及处理依赖库如sklearn、numpy和pointnet2的问题。)
 +metatag-og:any=(确保您的系统配置满足AnyGrasp的运行要求,并学习如何通过正确的环境设置和依赖管理来避免常见的安装错误。)
 +}}
 +
 ====== anygrasp的安装部署 ====== ====== anygrasp的安装部署 ======
  
 +首先,必须安装conda,推荐使用 python10版本。
 +
 +激活conda环境,然后安装 minkowskiengine [[机器人:minkowskiengine:minkowskiengine安装|minkowskiengine安装]]
 +
 +
 +根据自己的实际情况安装torch,我这里是4090显卡
 +<code>
 +conda install openblas-devel -c anaconda
 +pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html
 +</code>
 +
 +后续会用到gcc编译,必须gcc9,不然会有gcc报错,参考 安装 minkowskiengine [[机器人:minkowskiengine:minkowskiengine安装|minkowskiengine安装]]
 +
 +<code>
 +/usr/include/c++/11/bits/std_function.h:435:145: error: parameter packs not expanded with ‘...’:
 +  435 | function(_Functor&& __f)
 +      | ^
 +...
 +error: command '/usr/bin/nvcc' failed with exit code 1
 +</code>
 +
 +
 +如果你的网络不佳,这里有加速国内镜像: https://gitee.com/ctbots/mirror-anygrasp_sdk
 +
 +按照readme安装即可,这里总结一些常见错误:
 +
 +===== 没有提前申请证书 =====
 +需要根据https://gitee.com/ctbots/mirror-anygrasp_sdk 的 readme里的说明,有license相关的内容,科学上网,然后填写表格; 会收到
 +
 +  - 激活码
 +  - 数据集,分别是checkpoint_detection.tar【290MB】 和 checkpoint_tracking.tar【24MB】
 +
 +===== pip install 出现sklearn报错 =====
 +
 +Collecting sklearn (from graspnetAPI->-r requirements.txt (line 5))
 +  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/46/1c/395a83ee7b2d2ad7a05b453872053d41449564477c81dc356f720b16eac4/sklearn-0.0.post12.tar.gz (2.6 kB)
 +  Preparing metadata (setup.py) ... error
 +  error: subprocess-exited-with-error
 +
 +  × python setup.py egg_info did not run successfully.
 +  │ exit code: 1
 +  ╰─> [15 lines of output]
 +      The 'sklearn' PyPI package is deprecated, use 'scikit-learn'
 +      rather than 'sklearn' for pip commands.
 +
 +      Here is how to fix this error in the main use cases:
 +      - use 'pip install scikit-learn' rather than 'pip install sklearn'
 +      - replace 'sklearn' by 'scikit-learn' in your pip requirements files
 +        (requirements.txt, setup.py, setup.cfg, Pipfile, etc ...)
 +      - if the 'sklearn' package is used by one of your dependencies,
 +        it would be great if you take some time to track which package uses
 +        'sklearn' instead of 'scikit-learn' and report it to their issue tracker
 +      - as a last resort, set the environment variable
 +        SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True to avoid this error
 +
 +      More information is available at
 +      https://github.com/scikit-learn/sklearn-pypi-package
 +      [end of output]
 +
 +解决方式,设置环境变量:export SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True
 +
 +===== gsnet报错 提示python版本3.6之类的和当前python版本不兼容 =====
 +Traceback (most recent call last):
 +  File "/home/ctbots/code/mirror-anygrasp_sdk/grasp_detection/demo.py", line 8, in <module>
 +    from gsnet import AnyGrasp
 +ImportError: /home/ctbots/code/mirror-anygrasp_sdk/grasp_detection/gsnet.so: undefined symbol: _PyGC_generation0
 +
 +或者 干脆不显示详细内容,直接显示 python3.6 之类的报错。
 +
 +解决方式:注意,必须复制2个so到 工作目录,而且版本必须和当前的python对应。 
 +
 +分别是 gsnet.so 和 lib_cxx.so
 +
 +分别在 grasp_detection/gsnet_versions/ 目录 和 license_registration/lib_cxx_versions/ 目录;
 +
 +同时记得把 license 文件夹拷贝到工作目录。
 +
 +===== 提示numpy版本错误 =====
 +
 + pip install "opencv-python<4.11" "numpy==1.23.4" "scipy<1.15.3"
 +
 +===== pointnet2 提示导入错误 =====
 +
 +ModuleNotFoundError: No module named 'pointnet2'
 +
 +解决方案【一定要在当前的conda内,而且是gcc9】:
 +cd pointnet2
 +python setup.py install
 +
 +===== 找不到 libcrypto.so.1.1 =====
 +从ubuntu的deb包中搜索 libssl1.1_1.1.1f-1ubuntu2.23_amd64.deb, 解压压缩包,把 压缩包里 /usr/lib/x86_64-linux-gnu 的 libcrypto.so.1.1 复制到项目根目录
 +
 +官方的 https://launchpad.net 如果不科学上网可能无法访问, 可以使用镜像加速 https://748996.xyz/launchpad.net/ubuntu
 +
 +然后  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:项目的绝对路径