tl;dr: should the installation tutorials show a warning about using ROS with anything but vanilla Python 2? Especially on Ubuntu/Debian systems this would seem to avoid a lot of problems with users trying to use Python 3 or alternative interpreters or runtime environments (Anaconda fi).
There are quite a few questions on ROS Answers about issues that ultimately turn out to be caused by the OP having alternative Python interpreters / runtime environments installed (such as Anaconda) or trying to mix in / use Python 3.
Examples of problems are (seemingly) missing modules (
catkin_pkg, etc), syntax errors and divergent versions of interdependent modules (users setting
$PYTHONPATH to the union of their Python 2 and Python 3
site-packages directories). Quite a few of these situations are then ‘rectified’ by doing
pip installs of the packages, potentially leading to all sorts of other problems in the future.
Even thought it’s possible to get such setups to work, especially new users seem to run into problems, leading to many posts on ROS Answers. The search apparently doesn’t work too well (or isn’t used at all) and the situation is exacerbated by the fact that these problems can manifest themselves in strange ways that don’t always immediately seem to point to problems with Python.
I didn’t want to immediately start editing the pages, but perhaps adding a clear warning to the installation tutorials could help avoid some of this. There are some answers on ROS Answers that show possible ways of using Python 3 / Anaconda and those could be added to the warning as references for users that would still like to use them.
One thing to consider is whether OS other than Ubuntu/Debian need these warnings: many of the core ROS Python are bilingual already and OS that don’t ship Python 2 any more are exploiting that (Arch fi).