rac*_*ism 4 python linux ubuntu ros
每当我尝试创建工作区时:
~/catkin_ws$ catkin_make
Run Code Online (Sandbox Code Playgroud)
它显示如下:
ImportError: "from catkin_pkg.package import parse_package" failed: No module named 'catkin_pkg'
Make sure that you have installed "catkin_pkg", it is up to date and on the PYTHONPATH.
CMake Error at /opt/ros/kinetic/share/catkin/cmake/safe_execute_process.cmake:11 (message):
execute_process(/home/usuario/miniconda3/bin/python
"/opt/ros/kinetic/share/catkin/cmake/parse_package_xml.py"
"/opt/ros/kinetic/share/catkin/cmake/../package.xml"
"/home/usuario/catkin_ws/build/catkin/catkin_generated/version/package.cmake")
returned error code 1
Call Stack (most recent call first):
/opt/ros/kinetic/share/catkin/cmake/catkin_package_xml.cmake:63 (safe_execute_process)
/opt/ros/kinetic/share/catkin/cmake/all.cmake:151 (_catkin_package_xml)
/opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:20 (include)
CMakeLists.txt:52 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/usuario/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/usuario/catkin_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed
Run Code Online (Sandbox Code Playgroud)
似乎catkin_pkg存在问题,但我找不到解决方案
我刚刚在Ubuntu 16.04上安装了ROS,遇到了同样的问题并修复了它.catkin_pkg的位置可能不在您的PYTHONPATH上,需要添加.
从错误输出:
确保您已安装"catkin_pkg",它是最新的并且在PYTHONPATH上.
尝试找到catkin_pkg并检查你的PYTHONPATH.catkin_pkg不在我的PYTHONPATH上(可能是由于其他程序安装),所以我添加了它并再次运行catkin_make,这次成功.
~/catkin_ws$ locate catkin_pkg
/usr/lib/python2.7/dist-packages/catkin_pkg
~/catkin_ws$ echo $PYTHONPATH
/opt/ros/kinetic/lib/python2.7/dist-packages
Run Code Online (Sandbox Code Playgroud)
要将catkin_pkg目录附加到PYTHONPATH(对于此会话):
~/catkin_ws$ export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages
Run Code Online (Sandbox Code Playgroud)
为了永久性,我将catkin_pkg目录附加到我的.bashrc中的PYTHONPATH(你可能想先备份你的.bashrc文件,例如cp -p~/.bashrc~/.bashrc-ros-catkin.bak).
要执行此操作,请编辑〜/ .bashrc文件(您可能需要使用sudo编辑此文件)并将以下两行添加到文件末尾:
# manually added for ROS catkin_make workspace setup
export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages
Run Code Online (Sandbox Code Playgroud)
保存文件并运行源代码以更新会话:
~/catkin_ws$ source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
再次检查您的PYTHONPATH:
~/catkin_ws$ echo $PYTHONPATH
/opt/ros/kinetic/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages
Run Code Online (Sandbox Code Playgroud)
显然,catkin_pkg文件的位置可能与我的不同,因此在追加到上面的$ PYTHONPATH时使用该路径.
现在再试一次运行catkin_make.如果出现相同的错误,请在此处粘贴catkin_pkg位置和PYTHONPATH的输出.
干杯,某人