匯總Anaconda與ROS沖突解決方法


匯總一下在網上找到的Anaconda與ROS沖突解決方法,如果還有其他人找到其他方法,歡迎留言。

anaconda和ros的安裝就不介紹了。

 

1. 在某視頻網站上一個印度小哥提出的方法

安裝完成后,在.bashrc/會出現:

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/“user”/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/"user"/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/home/"user"/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/"user"/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

這時,你輸入在終端輸入

$ python

會看到版本號信息:

Python 3.7.3 (default, Mar 27 2019, 22:11:17) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

明顯不是ROS需要的Python版本,ROS的Python版本為2.7。印度小哥的思路是anaconda可以建立Python2.7的環境,然后在那個環境中運行ROS。

$ conda create -n ros_env python=2.7 anaconda

建立名為ros_env的環境之后,需要安裝許多插件,安裝完成后,加載環境:

source activate ros_env

這時,在查看python的版本變為:

Python 2.7.16 |Anaconda, Inc.| (default, Aug 22 2019, 16:00:36) 
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

這時import rospy會報錯,原因是由於rospkg沒有安裝,在ros_env的環境下安裝rospkg

$ pip install -U rospkg 

安裝成功后,import rospy 以及 import rospkg都沒有問題了。

總結:這個方法很好用,就是在使用ros之前需要進入ros_env環境,相對比較方便。當然,也可以將source activate ros_env加入到.bashrc,這樣做不推薦,因為這樣做默認的環境變為python2.7的版本,如果想要python3以上的版本會有問題。

 

2. 在ROS的github上的方法

網址:https://github.com/ros/ros/issues/149

這個方法很簡單,屏蔽掉.bashrc中關於anaconda的設置,每次使用anaconda時,在終端中輸入

$ export PATH="/home/"user"/anaconda3/bin:$PATH"

然后就可以使用anaconda。

$ anaconda-navigator

 

3.  在medium上找到的方法

網址:https://medium.com/@zuxinl/ubuntu-18-04-ros-python3-anaconda-cuda-environment-configuration-cb8c8e42c68d

該方法與上面的方法效果完全一樣,屏蔽掉.bashrc中關於anaconda的設置,在.bashrc中加入

$ alias condaenv=”export PATH=”/home/"user"/anaconda3/bin:$PATH””

想要運行anaconda,就直接運行

$ condaenv

 

如果還有更好的方法,希望大家留言。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM