How to install pyyaml into `/usr/lib/python3/dist-packages`

65 views Asked by At

I'm trying to rosrun my python file, but got

$ rosrun forklift seg.py
Traceback (most recent call last):
  File "/home/rvl224/brian2lee/gazebo/forklift_test/src/ros1_wiki/forklift/script/seg.py", line 3, in <module>
    import rospy 
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/__init__.py", line 47, in <module>
    from std_msgs.msg import Header
  File "/opt/ros/noetic/lib/python3/dist-packages/std_msgs/msg/__init__.py", line 1, in <module>
    from ._Bool import *
  File "/opt/ros/noetic/lib/python3/dist-packages/std_msgs/msg/_Bool.py", line 6, in <module>
    import genpy
  File "/opt/ros/noetic/lib/python3/dist-packages/genpy/__init__.py", line 34, in <module>
    from . message import Message, SerializationError, DeserializationError, MessageException, struct_I
  File "/opt/ros/noetic/lib/python3/dist-packages/genpy/message.py", line 48, in <module>
    import yaml
ImportError: No module named yaml

I already installed pyyaml in /opt/ros/noetic/lib/python3 and ./.local/lib/python3.8/site-packages. But it seems to look for pyyaml in /usr/lib/python3/dist-packages. How do I install it into /usr/lib/python3/dist-packages?

EDIT: I think I've installed it by pip install --target /opt/ros/noetic/lib/python3/dist-packages pyyaml, but rosrun-ing the seg.py got different error. I don't know if it's still a pyyaml problem now.

$ rosrun forklift seg.py
Traceback (most recent call last):
  File "/home/rvl224/brian2lee/gazebo/forklift_test/src/ros1_wiki/forklift/script/seg.py", line 3, in <module>
    import rospy 
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/__init__.py", line 47, in <module>
    from std_msgs.msg import Header
  File "/opt/ros/noetic/lib/python3/dist-packages/std_msgs/msg/__init__.py", line 1, in <module>
    from ._Bool import *
  File "/opt/ros/noetic/lib/python3/dist-packages/std_msgs/msg/_Bool.py", line 6, in <module>
    import genpy
  File "/opt/ros/noetic/lib/python3/dist-packages/genpy/__init__.py", line 34, in <module>
    from . message import Message, SerializationError, DeserializationError, MessageException, struct_I
  File "/opt/ros/noetic/lib/python3/dist-packages/genpy/message.py", line 48, in <module>
    import yaml
  File "/opt/ros/noetic/lib/python3/dist-packages/yaml/__init__.py", line 362
    class YAMLObject(metaclass=YAMLObjectMetaclass):
                              ^
SyntaxError: invalid syntax
0

There are 0 answers