ros-kinetic默认使用python2.7,但是通常我们会在同一环境下使用python3,比如pytorch等机器学习项目。
anaconda是一个比较方便的多python环境管理工具,安装anaconda后会自动在.bashrc下加入
export PATH="/home/peter/NewDisk/anaconda3/bin:$PATH
这导致ROS环境受到影响,将上述内容替换成:
alias condaenv="export PATH="/home/peter/NewDisk /anaconda3/bin:$PATH"&& unset PYTHONPATH"
#&&
之后每次需要开启anaconda时,只需要在命令行手动敲入condaenv
即可,另外unset PYTHONPATH
解决了在anaconda里的环境下用python3 import cv2的如下报错。
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type