PYTHONPATH问题,Python 2不再起作用了?

时间:2019-01-03 14:41:37

标签: python path default ros

我通常使用python3,但也使用一些带有ROS的python2。较长时间后,我尝试构建ros工作区,但得到的错误是

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/work/py_venv/bin/python
"/opt/ros/kinetic/share/catkin/cmake/parse_package_xml.py"
"/opt/ros/kinetic/share/catkin/cmake/../package.xml"
"/home/work/catkin_ws/build/catkin_tools_prebuild/catkin/catkin_generated/version/package.cmake")

第一个目录/home/work/py_venv/bin/python是python3的虚拟环境。我不确定为什么要看那里。我没有激活任何虚拟环境(至少是故意的)。我完全缺少的是标准python2安装的路径。应该在那里吗?

如果我在终端中输入echo $PYTHONPATH,我将得到/opt/ros/kinetic/lib/python2.7/dist-packages 我猜有什么遗漏吗?如何正确设置此变量。安装时有什么价值? 我最近在python3中安装了venv,除此之外我不知道我对python所做的任何更改,因为它停止工作。

现在有很多问题。 如果您能回答任何一个问题,将不胜感激。

编辑:我知道发现主要问题是venv在path上前置,因此它在python3安装中寻找不包含catkin软件包的软件包。如何将其从路径中删除?

1 个答案:

答案 0 :(得分:0)

如果要删除venv python路径,可以按照以下步骤进行操作,

echo $PATH
export PATH=<remove unwanted path>

通过这种方式,您可以删除venv python路径。

此外,请检查可能设置为python3的python --version,如果需要也将其更改。

最后,检查PYTHONPATH是否未正确引导位置更改并尝试。