Ubuntu:ROS2(iron)でエラー発生。ImportError: cannot import name 'generate_py' from 'rosidl_generator_py'

Ubuntuを使用し、下記のリンクのROS2のチュートリアルでColocon buildを実行すると下記のようなエラーが発生した。それの対処方法を書いていく。
Creating custom msg and srv files — ROS 2 Documentation: Iron documentation

画像をクリックすると楽天に飛びます。

エラーの内容

colcon buildを行うと下記のようなエラーが発生した。エラーの原因になりそうな所をひたすら直したが新たなエラーが発生するだけだった。

Traceback (most recent call last):
  File "/opt/ros/iron/share/rosidl_generator_py/cmake/../../../lib/rosidl_generator_py/rosidl_generator_py", line 8, in module
    from rosidl_generator_py import generate_py
ImportError: cannot import name 'generate_py' from 'rosidl_generator_py' (/opt/ros/iron/lib/python3.10/site-packages/rosidl_generator_py/__init__.py)
gmake[2]: *** [turtlesim__py/CMakeFiles/turtlesim__py.dir/build.make:122: rosidl_generator_py/turtlesim/_turtlesim_s.ep.rosidl_typesupport_fastrtps_c.c] エラー 1
gmake[1]: *** [CMakeFiles/Makefile2:741: turtlesim__py/CMakeFiles/turtlesim__py.dir/all] エラー 2
gmake[1]: *** 未完了のジョブを待っています....
gmake: *** [Makefile:146: all] エラー 2

原因・解決方法

この原因はpythonに原因があるらしいことがわかった。途中で別のバージョンのpythonをインストールしたのがいけなかった。Rosはubuntuでデフォルトで入っているpython以外ではエラーが発生するらしい。そこで新たに入れたpythonを削除したり色々したが問題は解決しなかった。仕方なくUbuntuを削除し再インストールしたところエラーが発生しなくなった。

まとめ

海外の掲示板などではかなりの人がこのエラーで苦しんでいた。この記事がその助けになればとても幸いです。