Как добавить «.py» скрипт в автозагрузку (systemd)
Пробовал гугл-метОды, да, не помогло. Сам скрипт функционирует на ура, если запускать вручную через терминал. Что бы ещё попробовать?
agmsxx
17.05.20 16:36:25 MSK
anonymous
( 17.05.20 16:39:31 MSK )
Прописать интерпритатор. Можно в python файл
peregrine ★★★★★
( 17.05.20 16:39:35 MSK )
Написать sh-пускалку, внутри установка окружения, путей и запуск скрипта с нужным интерпретатором. А sh-пускалку уже в юнит добавить.
[Unit] Description= [Service] Type=simple ExecStart=/usr/bin/service_starter.sh Restart=always RestartSec=30 User=user_name [Install] WantedBy=multi-user.target
#!/bin/bash cd /path/to/need/ /path/to/interpreter/python /path/to/script/script.py
vvn_black ★★★★★
( 17.05.20 16:40:18 MSK )
Последнее исправление: vvn_black 17.05.20 16:47:54 MSK (всего исправлений: 3)
Ответ на: комментарий от vvn_black 17.05.20 16:40:18 MSK

Если от пускалки требуется только это, то ведь в .service-файл можно записать «WorkingDirectory=», «Environment=» и прочее, и обойтись без пускалки.
proud_anon ★★★★★
( 17.05.20 17:05:53 MSK )
Ответ на: комментарий от proud_anon 17.05.20 17:05:53 MSK
Я с этим сталкивался года 4 назад, тогда по-моему ещё не было WorkingDirectory и Environment. А в памяти «рабочий» вариант засел.
vvn_black ★★★★★
( 17.05.20 17:10:24 MSK )
Последнее исправление: vvn_black 17.05.20 17:10:42 MSK (всего исправлений: 1)

На файле +x есть? #!/usr/bin/env python3 в начале скрипта прописано? Логи неуспешного запуска есть?
Запись в реестр, которая помещает скрипт в автозагрузку
Доброе время. нужна помощь
пишу скрипт, планирую его потом запилить в exe
нужно сделать чтобы при первом запуске, создавалась запись в реестре, которая бы запускала данный exe каждый раз при старте системы (windows)
нагуглил вариант, но он выдаёт мне ошибку, как только не крутил, не получается
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
import winreg as reg import os def AddToRegistry(): pth = os.path.dirname(os.path.realpath(__file__)) print(pth) s_name = "test_autorun.py" # соединяет имя файла с адресом конца пути address = os.path.join(pth, s_name) key = "HKEY_CURRENT_USER" key_value = r"Software\Microsoft\Windows\CurrentVersion\Run" # открыть ключ, чтобы внести изменения в open = reg.OpenKey(key,key_value,0,reg.KEY_ALL_ACCESS) # изменение открытого ключа reg.SetValueEx(open,"any_name",0,reg.REG_SZ,address) reg.CloseKey(open) AddToRegistry()
ловлю ошибку типа:
in AddToRegistry
open = reg.OpenKey(key,key_value,0,reg.KEY_ALL_ACCESS)
TypeError: The object is not a PyHKEY object
хотелось бы также сделать, чтобы программа в автозагрузке не дублировалась, а записывалась туда только один раз
**это на всякий уточняю, потому что пока не знаю как оно в целом работает
первый опыт помещения программы в автозагрузку..
можете помочь понять, в чём ошибка?
Автозагрузка python скрипта при помощи скрипта?
Есть скрипт переведённый в exe’шник нужно закинуть его в авто-загрузку(Windows) при помощи скрипта в коде.
- Вопрос задан более трёх лет назад
- 1199 просмотров
1 комментарий
Простой 1 комментарий

Гугли «Работа с реестром»
Решения вопроса 1
irdaxirdaxirdax @irdaxirdaxirdax
from winreg import * # Путь в реестре key_my = OpenKey(HKEY_CURRENT_USER, r'SOFTWARE\Microsoft\Windows\CurrentVersion\Run', 0, KEY_ALL_ACCESS) # Установить скрипт в автозагрузку SetValueEx(key_my, 'script', 0, REG_SZ, r'') # Закрыть реестр CloseKey(key_my)
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Python
Палиндромы leetcode, в VS все правильно, на сайте другой ответ, что делать?
- 1 подписчик
- 2 часа назад
- 51 просмотр
Как добавить файл в авто загрузку используя python
Мне нужно сделать чтобы файл python сам добавился автозагрузку системы и я не знаю как это сделать я нашёл решения в интернете с редактором реестра, но по какой-то причине он у меня не сработал не выдавая никаких ошибок я также пытался просто переместить файл в папку Startup, но у меня это также не вышло мне выдавало данную ошибку: FileNotFoundError: [Errno 2] No such file or directory: ‘C:/Users/WN10/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup’ вот код:
import getpass USER_NAME = getpass.getuser() src = 'test.py' dest = f'C:/Users//AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup' shutil.move(src, dest)
Отслеживать
задан 18 фев в 21:09
25 6 6 бронзовых знаков
Возможный дубликат вопроса: автозапуск программы python
19 фев в 9:45
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Ответ прост вам просто нужно использовать модуль shutil.copy вот простой код для этого:
username = getpass.getuser() filename = '' # путь до файла # либо используйте автоматическую функцию для получения пути до файла file_path = sys.argv[0] dir_name = f'C:/Users//AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/' shutil.copy(filename, dir_name)
Если мой ответ помог вам поставтье галочку и оцените его!
