项目开发中遇到在ROS2中调用pytorch,但pytorch安装在了conda环境下。如果独立安装ros和conda会存在python版本、ubuntu系统版本的问题。网上还没看到比较好的解决方案,通过探索发现以下方案,实现的效果是在一个conda环境中,同时使用ros2/ros1和pytorch。
下载链接:NJU Mirror , miniforge和conda功能完全一致,但是开源,下载速度快。
链接:Getting Started - RoboStack ; mamba的下载速度更快
先在有ros的环境中,确认python版本,比如python为3.10,那么,pytorch必须有对应的版本才能正常安装,进入下面的链接看看哪个pytorch版本有对应python版本即可。
https://download.pytorch.org/whl/torch_stable.html
再进入到:Previous PyTorch Versions | PyTorch选择conda安装,复制安装代码,并把conda改成mamba,可快速完成安装。
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
conda_env="miniconda3" #miniforge-pypy3 miniconda3
__conda_setup="$('/home/user/$conda_env/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/user/$conda_env/etc/profile.d/conda.sh" ]; then
. "/home/user/$conda_env/etc/profile.d/conda.sh"
else
export PATH="/home/user/$conda_env/bin:$PATH"
fi
fi
unset __conda_setup
if [ $conda_env == "miniforge-pypy3" ]; then
if [ -f "/home/user/miniforge-pypy3/etc/profile.d/mamba.sh" ]; then
. "/home/user/miniforge-pypy3/etc/profile.d/mamba.sh"
fi
fi
# <<< conda initialize <<<
修改完成后要记得保存,新开一个命令行或者在当前命令行运行 source ~/.bashrc 才能生效
source /home/user/miniforge-pypy3/etc/profile.d/conda.sh
conda activate ros
python DataPlayer.py
第一行的miniforge-pypy3,也可换成minconda3或anaconda3,效果是一样的