近期为了实现一个项目,涉及机器人抓取内容,于是决定使用伯克利大学的Dex-Net 2.0来实现物体的抓取。本机环境:Ubuntu16.04,ROS Kinetic,CUDA10.1,Python2.7(虽然官方教程说可以使用Python3.5,但是由于需要使用ROS控制实际的机器人,而且网上又说ROS只支持Python2.x,同时后期遇到相关与ROS有关的模块,Python3.5编译有点问题,故重返使用Python2.7)。如果已经有各种功能包,不用再重新下,直接在终端运行 sudo sh install.sh 命令执行dex-net下的install.sh文件中的代码.
解决: 先执行sudo gedit /usr/bin/pip 打开文件,将 from pip import main 改为 from pip._internal import main.
解决: 一次性: sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ numpy. 永久性: 修改 ~/.pip/pip.conf(或者创建文件),加上代码为
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
注:pip show xxx查看pip功能包有无安装,sudo pip install --upgrade tensorflow-gpu 更新tensorflow包
解决:打开/etc/ld.so.conf.d/libc.conf文件,在文件末尾加入/usr/local/lib;/usr/local/lib64两句,保存后执行sudo ldconfig即可
解决: sudo apt-get install ros-kinetic-cv-bridge
解决:sudo pip install --ignore-installed pyserial,该代码执行后,会卸载原先版本而安装系统所需版本的pyserial。若是想直接卸载某模块,而不安装新版本,可尝试sudo pip uninstall --ignore-installed pyserial,涉及系统文件慎重。
解决:终端输入python,进入python环境,并执行import test.database_test,报错ImportError: No module named cv2,则安装opencv,执行sudo pip install opencv-python,若当中提示某些依赖项未安装或版本有错,则安装或替换依赖项即可。
不确定:
1. ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type
2. 提示please install the python3-tk package' ImportError: No module named '_tkinter', please install the python3-tk package;此时通过pip3 install python3-tk无效,需通过sudo apt-get install python3-tk