问题介绍
最近在跑动作生成项目的时候用到了HumanML3D相关的数据集,其中需要将HumanML3D跑出来的结果另外项目的训练集使用。在跑HumanML3D的过程中发现body-visualizer、configer和psbody-mesh库均不可以直接下载,同时在python的官方库中也没有找到相应版本的whl包以及源码包。
解决方法
方法一:执行三个pip命令即可解决,如果在安装第三个的时候用时过长,可能存在连接超时的情况,可以多尝试几次。如果一直无法正常安装,那就是被墙了,采用方法三,单独安装psbody-mesh。
pip install git+https://github.com/nghorbani/body_visualizer.git
pip install git+https://github.com/MPI-IS/configer
pip install git+https://github.com/MPI-IS/mesh.git
方法二:如果可以翻墙,也可以直接使用该命令行进行下载安装psbody-mesh
# 下载psbody-mesh,并执行脚本进行安装
python -c "import urllib.request ; urllib.request.urlretrieve('https://github.com/johnbanq/psbody-mesh-build-script/releases/latest/download/install_psbody.pyz', 'install_psbody.pyz')" && python install_psbody.pyz
方法三:使用源码安装psbody-mesh。先在待安装的主机上安装相关的脚本,如果是Linux或者Ubuntu直接执行第一行命令即可,如果是mac,执行第二行命令;进入psbody-mesh源码地址下载相关的文件,可以选择git下载或者下载手动解压;最后进行源码编译。
# Linux / Ubuntu
sudo apt-get install libboost-dev
# macOS
brew install boost
# git下载
git config --global http.postBuffer 1024M # mesh项目大小会超过默认的下载上限大小,可以重新设置一下缓存大小
git clone https://github.com/MPI-IS/mesh.git # 下载项目
手动解压
进入源码网站下载ZIP源码文件,解压并移动到想放的文件夹里
源码编译
进入到源码文件夹中,执行源码编译命令
# 如上图所示案例,进入源码文件夹命令如下
cd /disk/disk0/zd/mesh
# 编译源码
BOOST_INCLUDE_DIRS=/path/to/boost/include make all
潜在错误
错误一:发生错误的pip版本是24.0,即为最新版,最新版已经删除了--install-option,因此需要对pip进行降级
# 对pip进行降级操作
python -m pip install pip==20.2.4
# 完成编译后,重新更新到最新版本的pip
pip install --upgrade pip
错误二:对pip进行降级后发现setuptools的版本又与python不对应了,因此需要重新更新setuptools的版本
# 降级setuptools
pip install --upgrade "setuptools<65"
参考链接
Could not find a version that satisfies the requirement body-visualizer