I have a python script running on a raspberry pi.
I defined a launcher.sh file and trying it with sh launcher.sh runs the program
The file
cd /home/pi/Documents
PYTHONPATH=/home/pi/.local/lib/python3.10/site-packages
python3 /home/pi/Documents/myfile.py
I tried chmod launcher.sh and sudo chmod 775 launcher.sh
But when I start the launcher on boot, I get an error loged in cronlog:
import pandas as pd ModuleNotFoundError No module named pandas
I do have two python versions on the Raspberry 3.9 and 3.10 (unfortunately not in an environment).
pip list gives me: pandas 1.4.3
python --version gives me Python 3.10.0
python3 --version also gives me Python 3.10.0
In /home/pi/.local/lib/ I do have a python 3.10 and python 3.9 folder. Both have a pandas folder in the sitepackages.I just saw, that the pyhton3.9 folder also has a pandas-1.4.3dist.info folder (The python3.10 does not have that).
The crontab line is as follows:
@reboot sh /home/pi/launcher.sh >/home/pi/logs/cronlog 2>&1
I don't get it...
is the python 3.9 folder somehow intercepting... But I do set the Pythonpath and trying to run with sh launcher.sh does work, so I wonder what is going wrong. Somehow the wrong python is used I guess.
Thanks for your help
Edit:
I renamed the /home/pi/.local/lib/python3.9 to get rid of the sidpackage... but no change
Edit: I tried to change the priority of python 3.10 and 3.9 with
sudo update-alternatives --install $(which python) python $(readlink -f $(which python3.10)) 3
sudo update-alternatives --install $(which python) python $(readlink -f $(which python3.9)) 2
with no luck
Edit: added the python3 --version suggestion
Edit: Error message when trying to install pandas for python3.9
with pyhton3.9 -m pip install pandas See output below.
............almost FINAL EDIT:............
I deinstalled (purge) python like suggested here and then reinstalled python3.10 via this great link Unfortunattely while deinstalling, I guess also the python2.7 was deinstalled, resulting in a complete system failure on startup. -> Lost all hope at 3 o'clock at night ;-) And now resetting the sd-image starting all over.
I will update a last time when I got it running with the fresh image
Thank you all so much for your interest and participation. I love this community
............................................
> ERROR: Exception: Traceback (most recent call last): File
> "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py",
> line 223, in _main
> status = self.run(options, args) File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py",
> line 180, in wrapper
> return func(self, options, args) File "/usr/lib/python3/dist-packages/pip/_internal/commands/install.py",
> line 297, in run
> session = self.get_default_session(options) File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py",
> line 78, in get_default_session
> self._session = self.enter_context(self._build_session(options)) File
> "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py",
> line 88, in _build_session
> session = PipSession( File "/usr/lib/python3/dist-packages/pip/_internal/network/session.py",
> line 248, in __init__
> self.headers["User-Agent"] = user_agent() File "/usr/lib/python3/dist-packages/pip/_internal/network/session.py",
> line 131, in user_agent
> zip(["name", "version", "id"], distro.linux_distribution()), File
> "/usr/share/python-wheels/distro-1.5.0-py2.py3-none-any.whl/distro.py",
> line 125, in linux_distribution
> return _distro.linux_distribution(full_distribution_name) File "/usr/share/python-wheels/distro-1.5.0-py2.py3-none-any.whl/distro.py",
> line 681, in linux_distribution
> self.version(), File "/usr/share/python-wheels/distro-1.5.0-py2.py3-none-any.whl/distro.py",
> line 741, in version
> self.lsb_release_attr('release'), File "/usr/share/python-wheels/distro-1.5.0-py2.py3-none-any.whl/distro.py",
> line 903, in lsb_release_attr
> return self._lsb_release_info.get(attribute, '') File "/usr/share/python-wheels/distro-1.5.0-py2.py3-none-any.whl/distro.py",
> line 556, in __get__
> ret = obj.__dict__[self._fname] = self._f(obj) File "/usr/share/python-wheels/distro-1.5.0-py2.py3-none-any.whl/distro.py",
> line 1014, in _lsb_release_info
> stdout = subprocess.check_output(cmd, stderr=devnull) File "/usr/lib/python3.9/subprocess.py", line 424, in check_output
> return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, File "/usr/lib/python3.9/subprocess.py", line 528, in run
> raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '('lsb_release', '-a')'
> returned non-zero exit status 1.