Error in building custom ros messages

Hello, i am trying to communicate with ros by using my custom messages. I'm currently using ROS1 Melodic. I saw that there is a function called rosgenmsgs and i tried to build my custom messages with
rosgenmsg("/home/msezer/catkin_ws/src/cust_msgs")
However, i got the following error,
Error using ros.internal.createOrGetLocalPython
Could not find Python version 3.9 on your system. Use pyenv function to set the path to the Python 3.9 executable.
Then i installed the Python 3.9 and gave the executable path by using
pyenv('Version','/usr/bin/python3.9')
After calling the function rosgenmsg, i get the following error.
Error using ros.internal.createOrGetLocalPython
chmod: cannot access '/home/msezer/.matlab/R2022a/ros1/glnxa64/venv/bin/activate': No such file or directory
Error in rosgenmsg (line 88)
ros.internal.createOrGetLocalPython(); %ensure python is available
I've already check the path and there is no activate folder or file. I use Ubuntu 18.04. What could be the reason for this problem?
Thank you

 Accepted Answer

I had the same problem since I update Matlab to 2022a. It seem that you have to create a Python venv environment in your ‘/home/msezer/.matlab/R2022a/ros1/glnxa64/venv/’ folder.
To achieve that, navigate to your ‘/home/msezer/.matlab/R2022a/ros1/glnxa64/venv/’ folder and delete everything in it. Then in a terminal, create a python venv environment with the following command:
$ python3 -m venv [Directory of your venv folder]
It will create the environment and you should be able to generate yours custom ROS message. It worked for me.
Regard,
Alexandre

3 Comments

Hello, thank you for the answer. I tried the solution, however it did not solve my problem. I tried something similar with a small difference. I deleted the files under the venv folder and in a terminal i used the command
$ sudo apt install python3.9 python3.9-venv python3.9-dev
Then, i created the virtual environment with
$ python3.9 -m venv [Directory of your venv folder]
It solved my problem. Thank you.
Hello Mustafa Sezer, thank you for your answer. I had the same problem and it is solved just as you suggested. Thank you very much!
thank you, also works for me

Sign in to comment.

More Answers (1)

Josh Chen
Josh Chen on 7 Apr 2022
Hello Mustafa,
Looking at the error message, it seems that the python virtual environment was not been created properly. Could you please try to create the python virtual environment again with the following command and see if that works?
>> ros.internal.createOrGetLocalPython(true);
Thanks,
Josh

1 Comment

I tried it but i still got an error. I could solve my issue with the solution above. Thank you for your time

Sign in to comment.

Categories

Products

Release

R2022a

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!