ros调用anaconda的python3_使用anaconda在ubuntu16.04下安装TensorFlow-GPU,同时保留原本的ROS环境...

本文介绍了如何在Ubuntu 16.04和ROS Kinetic环境中安装Anaconda Python3,同时保留ROS的Python2环境。通过创建conda环境并安装TensorFlow-GPU,利用conda解决依赖问题。在bashrc中通过别名管理环境切换,确保不会影响ROS的正常工作。遇到CUDA驱动问题时,建议手动更新显卡驱动。
摘要由CSDN通过智能技术生成

由于ubuntu16.04+ROS-kinetic使用的是python2,所以如果直接安装anaconda的话会出现ROS包不能用的情况。所以这篇文章是解决这个问题的办法,此外,使用conda安装TensorFlow-GPU会自动安装cudnn和cudatoolkit这两个装起来很烦人的东西,可以说非常方便了。装错了卸载的时候也只需要把bashrc里的内容删除,并删除home下的anaconda3目录就行了,干净卫生。

第一步,下载anaconda。

选择3.7的版本

为该文件添加可执行后,直接使用sh运行。

安装目录选择默认的就行了,如有需要也可以自行更改。

然后问你是否要添加环境变量,这个会配置在bashrc里,选择是,然后一会儿修改。

最后会问你要不要装vscode。

完成之后,打开terminal,输入python,会发现python的版本已经由2变3了,然后ros相关的内容都已经不能正常使用了。

所以打开bashrc,将anaconda添加的内容全部注释掉.这样一来新开一个terminal之后就又回到了没有安装前的状态。可以正常使用ROS和Python2.等到需要用anaconda环境的时候再把注释解除,这个办法是ROSwiki上提供的,显然不是非常方便,还需要改进。

bashrc在home下,使用ctrl+h就能显示出来编辑。

在刚刚注释掉的内容中发现这句话

if [ -f "/home/tom/anaconda3/etc/profile.d/conda.sh" ]; then

. "/home/tom/anaconda3/etc/profile.d/conda.sh"

CONDA_CHANGEPS1=false conda activate base

我们把它改造一下。

alias condapy3='. /home/tom/anaconda3/etc/profile.d/conda.sh && conda activate tensorflow_gpuenv'

其中tensorflow_gpuenv环境我们还没有建立,可以先改成base,conda activate 就是激活这个环境用的,但没有前面那句就无法使用。

要建立这个环境,首先我把注释解除,检查一下是不是进入了Python3,是的话ctrl+D退出Python。

conda create -n tensorflow_gpuenv tensorflow-gpu

conda activate tensorflow_gpuenv

如果不需要gpu的话就直接把后面的-gpu去掉就行了。

如果嫌速度太慢的话就换清华的channel,目前还是能用的,但是网上有些文章说它挂了,现在应该是复活了。

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

conda config --set show_channel_urls yes

这样以来不但tensorflow-gpu安装好了,就连cudnn和cudatoolkit也一并好了,用pip的话就很不方便了。

安装好之后,bashrc里注释掉刚刚那些内容,把刚刚提到的alias condapy3=’. /home/tom/anaconda3/etc/profile.d/conda.sh && conda activate tensorflow_gpuenv’这句话加上去。

新开一个terminal,输入我们自己设置的condapy3,当然这个其实你起什么名字都可以。

image.png

image.png

image.png

然后就可以正常使用了,新开一个terminal还是原来的Python2,想使用tensorflow环境的话就在终端输入刚刚的condapy3.如果想在anaconda环境下使用ros包的话,那就新建一个Python2的环境,再用pip安装那些ros包。同理,其他无法用conda安装的包也都可以试着用pip,反过来pip无法安装的包用conda说不定就能安装。但tensorflow-gpu一定要用conda安装。

如果安装完成后用测试代码发现报错,比如

Error: CUDA driver version is insufficient for CUDA runtime version

问题极有可能出在显卡驱动上,可能有不止一个显卡驱动,这个时候建议手动重新安装显卡驱动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值