If I understand your issue, you want to start your Python script when your RPi starts (boots) - not when you log in... is that correct?
If so, then the
crontab is a proper way to do that. This would be easier to figure out if you'd edit your question to add the job (line) you put in your
crontab. But we'll give it a go, and create a "job" in
crontab from scratch.
Begin by opening your user
crontab from the command line of your terminal window:
Assuming that you're using Raspberry Pi OS, and you've not changed the defaults, your default editor (
nano) should open with a copy of your current
crontab file. I'll assume you're familiar enough with your editor to follow along...
Add a new line to the bottom of your editor window/screen with the following:
@reboot /path/to/script >> /home/pi/myscriptlog.txt 2>&1
What does this do?
When your machine boots up, this job in your
crontab will run (
cron daemon (service) will attempt to execute whatever file is located at
/path/to/script. (NOTE be sure this file is set to be executable; use
chmod to set the executable bits if necessary)
cron job cannot communicate with you through the terminal, we redirect (
>>) the output to a file in your home directory (here assumed to be
2>&1 bit at the end of the job is another redirect, but this one tells
cron to redirect any error messages thrown by your script (i.e.
stderr = 2) into the stream with
stdout = 1).
Try that, and let us know how it works - or, if this answer completely misses the point of your question, please let me know, and I'll delete the answer.