rosinit failed in Matlab 2022a, MacOS Apple Silicon

7 Ansichten (letzte 30 Tage)
Sheng Yang
Sheng Yang am 21 Mär. 2022
Kommentiert: Sk Shaon am 10 Feb. 2023
pyenv get
ans =
PythonEnvironment - 属性:
Version: "3.9"
Executable: "/opt/homebrew/Caskroom/miniforge/base/envs/matlab_ros/bin/python"
Library: "/opt/homebrew/Caskroom/miniforge/base/envs/matlab_ros/lib/libpython3.9.dylib"
Home: "/opt/homebrew/Caskroom/miniforge/base/envs/matlab_ros"
Status: NotLoaded
ExecutionMode: InProcess
and rosinit get
Launching ROS Core...
Adding required Python packages to virtual environment..Done.
Could not install the required Python packages. System error message: Looking in links:
/Applications/MATLAB_R2022a.app/sys/ros1/share/python
Processing /Applications/MATLAB_R2022a.app/sys/ros1/share/python/catkin_pkg-0.4.23-py3-none-any.whl
Processing /Applications/MATLAB_R2022a.app/sys/ros1/share/python/empy-3.3.4.tar.gz
Processing
/Applications/MATLAB_R2022a.app/sys/ros1/share/python/docutils-0.17.1-py2.py3-none-any.whl
Processing
/Applications/MATLAB_R2022a.app/sys/ros1/share/python/pyparsing-2.4.7-py2.py3-none-any.whl
Processing
/Applications/MATLAB_R2022a.app/sys/ros1/share/python/python_dateutil-2.8.1-py2.py3-none-any.whl
[31mERROR: Could not find a version that satisfies the requirement pyyaml (from versions: none)[0m
[31mERROR: No matching distribution found for pyyaml[0m
. Use pyenv function to set the path to the Python executable and retry the command.
/opt/homebrew/Caskroom/miniforge/base/envs/matlab_ros/bin/python -m pip install pyyaml and /opt/homebrew/Caskroom/miniforge/base/envs/matlab_ros/bin/python -m pip install pyyaml==5.4.1 make no sense.
  6 Kommentare
Cam Salzberger
Cam Salzberger am 24 Mär. 2022
Hmm, I've not seen this exact issue before. One thing that has helped other similar issues is to upgrade pip and setuptools in the base Python installation. So in a terminal outside of MATLAB run:
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade setuptools
After doing that, you can force recreation of the virtual environment in MATLAB by running this from the Command Window. Make sure pyenv is set the same way first (to the base executable).
ros.internal.createOrGetLocalPython(true)
-Cam
Sheng Yang
Sheng Yang am 25 Mär. 2022
Bearbeitet: Sheng Yang am 25 Mär. 2022
Thank you for the patient response. Unfortunately, nothing changed.
In system terminal:
~ python3 -m pip install --upgrade pip
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
Requirement already satisfied: pip in /opt/homebrew/lib/python3.9/site-packages (22.0.4)
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
~ python3 -m pip install --upgrade setuptools
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
Requirement already satisfied: setuptools in /opt/homebrew/lib/python3.9/site-packages (61.0.0)
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
In matlab:
>> pyenv
ans =
PythonEnvironment - 属性:
Version: "3.9"
Executable: "/opt/homebrew/opt/python@3.9/bin/python3.9"
Library: "/opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib/libpython3.9.dylib"
Home: "/opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9"
Status: NotLoaded
ExecutionMode: InProcess
>> ros.internal.createOrGetLocalPython(true)
Removing previous version of Python virtual environment..Done.
Creating a Python virtual environment...Done.
Adding required Python packages to virtual environment...Done.
错误使用 ros.internal.createOrGetLocalPython
Could not install the required Python packages. System error message: Looking in links:
/Applications/MATLAB_R2022a.app/sys/ros1/share/python
Processing /Applications/MATLAB_R2022a.app/sys/ros1/share/python/catkin_pkg-0.4.23-py3-none-any.whl
Processing /Applications/MATLAB_R2022a.app/sys/ros1/share/python/empy-3.3.4.tar.gz
Processing /Applications/MATLAB_R2022a.app/sys/ros1/share/python/docutils-0.17.1-py2.py3-none-any.whl
Processing /Applications/MATLAB_R2022a.app/sys/ros1/share/python/pyparsing-2.4.7-py2.py3-none-any.whl
Processing
/Applications/MATLAB_R2022a.app/sys/ros1/share/python/python_dateutil-2.8.1-py2.py3-none-any.whl
[31mERROR: Could not find a version that satisfies the requirement pyyaml (from versions: none)[0m
[31mERROR: No matching distribution found for pyyaml[0m
. Use pyenv function to set the path to the Python executable and retry the command.
So strange!

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Sheng Yang
Sheng Yang am 25 Mär. 2022
Bearbeitet: Sheng Yang am 25 Mär. 2022
I did some surveys on createOrGetLocalPython.m and wheels in /Applications/MATLAB_R2022a.app/sys/ros1/share/python and found this problem is associated with apple silicon. In /Applications/MATLAB_R2022a.app/sys/ros1/share/python, there are three PyYAML wheels:
PyYAML-5.4.1-cp39-cp39-macosx_10_9_x86_64.whl
PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl
PyYAML-5.4.1-cp39-cp39-win_amd64.whl
None of them is suitable for macos (apple silicon). (`~/.matlab/R2022a/ros1/maci64/venv/bin/python` is the venv created by ros.internal.createOrGetLocalPython)
python ~/.matlab/R2022a/ros1/maci64/venv/bin/python -m pip install PyYAML-5.4.1-cp39-cp39-macosx_10_9_x86_64.whl
ERROR: PyYAML-5.4.1-cp39-cp39-macosx_10_9_x86_64.whl is not a supported wheel on this platform.
However, you can install PyYAML==5.4.1 by pip directly. The current solution for this problem (only in apple silicon) should be:
Step 1, execute these commands in matlab (you will get error infomation, ignore them)
pyenv('Version', '/opt/homebrew/bin/python3')
ros.internal.createOrGetLocalPython(true)
Step 2, execute the command in system terminal
~/.matlab/R2022a/ros1/maci64/venv/bin/python -m pip install pyyaml==5.4.1
Step 3, execute these commands in matlab
ros.internal.createOrGetLocalPython()
rosinit
@Cam Salzberger Thank you for your patient replies. Maybe an update is necessary for Matlab 2022a?
  4 Kommentare
Karthik Reddy Vennapureddy
Hi Yang,
Could you let us know whether the python in '/opt/homebrew/opt/python@3.9/bin/python3.9' is arm64 or x86_64 version. To know which architecture of python you are using, execute the following command:
!file /opt/homebrew/opt/python@3.9/bin/python3.9
The error seems to be occurring with the native python (arm64). You could install a intel or universal python as alternative from the official python 3.9.10 release for macos: https://www.python.org/downloads/macos/.
- Karthik Reddy
Sheng Yang
Sheng Yang am 4 Apr. 2022
Indeed, it is the native python installed by the homebrew:
/opt/homebrew/opt/python@3.9/bin/python3.9: Mach-O 64-bit executable arm64

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Kenneth Hoffmann
Kenneth Hoffmann am 3 Aug. 2022
Hi! Is MATLAB ROS stable on Mac Silicon? I am considering upgrading. Thanks!
  1 Kommentar
Sk Shaon
Sk Shaon am 10 Feb. 2023
No, Still has the same Issue
Unable to install the required Python packages. System error message:
Looking in links: c:\Program Files\MATLAB\R2022b\sys\ros1\share\python
Processing c:\program files\matlab\r2022b\sys\ros1\share\python\catkin_pkg-0.4.23-py3-none-any.whl
Processing c:\program files\matlab\r2022b\sys\ros1\share\python\empy-3.3.4.tar.gz
Processing c:\program files\matlab\r2022b\sys\ros1\share\python\docutils-0.17.1-py2.py3-none-any.whl
Processing c:\program files\matlab\r2022b\sys\ros1\share\python\pyparsing-2.4.7-py2.py3-none-any.whl
Processing c:\program files\matlab\r2022b\sys\ros1\share\python\python_dateutil-2.8.1-py2.py3-none-any.whl
ERROR: Could not find a version that satisfies the requirement pyyaml (from versions: none)
ERROR: No matching distribution found for pyyaml
.
Use ROS Toolbox preferences to create a Python virtual environment.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Application Deployment finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by