Hello,
I am running the odrivetool on a Raspberry Pi (Raspbian), and i just updated the python from 3.7 to 3.9.2 using a bash script i found awhile ago (see code below).
echo -e "Updating python to version 3.9.2"
version=3.9.2
wget -O /tmp/Python-$version.tar.xz https://www.python.org/ftp/python/$version/Python-$version.tar.xz
cd /tmp
tar xf Python-$version.tar.xz
cd Python-$version
./configure --enable-optimizations
sudo make altinstall
sudo apt -y autoremove
cd
sudo rm -rf /tmp/Python-$version
rm /tmp/Python-$version.tar.xz
sudo ln -s /usr/local/bin/python3.9 /usr/bin/python3.9
echo "alias python=/usr/local/bin/python3.9" >> ~/.bashrc
echo "alias python3=/usr/local/bin/python3.9" >> ~/.bashrc
source ~/.bashrc
cd ..
. ~/.bashrc
The issue is that when i run the odrivetool, and then i try to use the start_liveplotter(lambda: []
, there is a serie of errors happening. I noticed that they all point to the usr/local/lib/python3.7
. But when i check the python version on my Raspberry Pi python -V
, it is 3.9.2. I also made sure to install all libraries (such as matplotlib, numpy, etc.).
Does anyone knows why this error is caused?
start_liveplotter(lambda: [odrv0.axis0.motor.current_control.Iq_measured])
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
/usr/local/lib/python3.7/dist-packages/fibre/shell.py in <module>
----> 1 start_liveplotter(lambda: [odrv0.axis0.motor.current_control.Iq_measured])
/usr/local/lib/python3.7/dist-packages/odrive/utils.py in start_liveplotter(get_var_callback)
72 """
73
---> 74 import matplotlib.pyplot as plt
75
76 cancellation_token = Event()
/usr/local/lib/python3.7/dist-packages/matplotlib/__init__.py in <module>
105 # cbook must import matplotlib only within function
106 # definitions, so it is safe to import from it here.
--> 107 from . import _api, cbook, docstring, rcsetup
108 from matplotlib.cbook import MatplotlibDeprecationWarning, sanitize_sequence
109 from matplotlib.cbook import mplDeprecation # deprecated
/usr/local/lib/python3.7/dist-packages/matplotlib/rcsetup.py in <module>
24 from matplotlib import _api, animation, cbook
25 from matplotlib.cbook import ls_mapper
---> 26 from matplotlib.colors import Colormap, is_color_like
27 from matplotlib.fontconfig_pattern import parse_fontconfig_pattern
28 from matplotlib._enums import JoinStyle, CapStyle
/usr/local/lib/python3.7/dist-packages/matplotlib/colors.py in <module>
80 import matplotlib as mpl
81 import numpy as np
---> 82 from matplotlib import _api, cbook, scale
83 from ._color_data import BASE_COLORS, TABLEAU_COLORS, CSS4_COLORS, XKCD_COLORS
84
/usr/local/lib/python3.7/dist-packages/matplotlib/scale.py in <module>
16 import matplotlib as mpl
17 from matplotlib import _api, docstring
---> 18 from matplotlib.ticker import (
19 NullFormatter, ScalarFormatter, LogFormatterSciNotation, LogitFormatter,
20 NullLocator, LogLocator, AutoLocator, AutoMinorLocator,
/usr/local/lib/python3.7/dist-packages/matplotlib/ticker.py in <module>
177 import matplotlib as mpl
178 from matplotlib import _api, cbook
--> 179 from matplotlib import transforms as mtransforms
180
181 _log = logging.getLogger(__name__)
/usr/local/lib/python3.7/dist-packages/matplotlib/transforms.py in <module>
44
45 from matplotlib import _api
---> 46 from matplotlib._path import (
47 affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
48 from .path import Path
ImportError: numpy.core.multiarray failed to import