|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.05.2024, 08:55 | #1 |
Пользователь
Регистрация: 27.03.2023
Сообщений: 25
|
Почему crontab не запускает код Python содержащий модули?
Добрый день помогите разобраться почему crontab
* * * * * /home/user/MyProger/venv3.10/bin/python3 /home/user/MyProger/main.py не запускает код python Код:
#!/bin/bash # Переход в директорию проекта cd /home/user/MyProger # Активация виртуалки source /home/user/MyProger/venv3.10/bin/activate # Выполнить скрипт Python python3 /home/user/MyProger/main.py Результат один и тот же лампочка камеры загорается и гаснет, mail пишет Return-Path: X-Original-To: user Delivered-To: user@user-HP-Laptop-15-bw0xx Received: by user-HP-Laptop-15-bw0xx (Postfix, from userid 1000) id 5DD32B4050F; Thu, 16 May 2024 14:54:01 +0600 (+06) From: root@user-HP-Laptop-15-bw0xx (Cron Daemon) To: user@user-HP-Laptop-15-bw0xx Subject: Cron python3 /home/user/MyProger/main.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Cron-Env: X-Cron-Env: X-Cron-Env: Message-Id: <20240516085401.5DD32B4050F@user-HP-Laptop-15-bw0xx> Date: Thu, 16 May 2024 14:54:01 +0600 (+06) X-UID: 6 Status: R Traceback (most recent call last): File "/home/user/MyProger/main.py", line 1, in import cv2 ModuleNotFoundError: No module named 'cv2' cv2 стоит в нужной директории, при манипуляции командами activate и deactivate это видно |
19.05.2024, 14:07 | #2 | |
Пользователь
Регистрация: 16.05.2024
Сообщений: 92
|
Через консоль вы запускаете Python, который установлен у вас в системе
Цитата:
В каком из них есть модуль cv2 ? Какой Python используют activate и deactivate ? |
|
22.05.2024, 11:18 | #3 |
Пользователь
Регистрация: 27.03.2023
Сообщений: 25
|
Здравствуйте
cv2 установлен и в venv3.10 и в venv3.11
вот bash скрипт #!/bin/bash # Переход в директорию проекта cd /home/user/MyProger # Активация виртуалки . venv3.10/bin/activate # Выполнить скрипт Python python3 /home/user/MyProger/main.py все работает, меняю на venv3.11 тоже работает вот crontab # Edit this file to introduce tasks to be run by cron. # # Each task to run has to be defined through a single line # indicating with different fields when the task will be run # and what command to run for the task # # To define the time you can provide concrete values for # minute (m), hour (h), day of month (dom), month (mon), # and day of week (dow) or use '*' in these fields (for 'any'). # # Notice that tasks will be started based on the cron's system # daemon's notion of time and timezones. # # Output of the crontab jobs (including errors) is sent through # email to the user the crontab file belongs to (unless redirected). # # For example, you can run a backup of all your user accounts # at 5 a.m every week with: # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ # # For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command SHELL=/bin/bash * * * * * /home/user/MyProger/myscript.sh не работает |
22.05.2024, 15:45 | #4 | ||
Пользователь
Регистрация: 16.05.2024
Сообщений: 92
|
cron присылает письмо пользователю user, в котором говорится, что Python не видит модуль cv2:
Цитата:
Цитата:
Какой python3 вы вызываете в /home/user/MyProger/myscript.sh ? Пишите там полный путь. Насколько я понял у вас установлено несколько питонов и с ними у вас неразбериха. |
||
22.05.2024, 18:42 | #5 |
Пользователь
Регистрация: 27.03.2023
Сообщений: 25
|
Добрый вечер
А как проверить какой питон запускает скрипт, или просто удалить версию питона и удалить venv3.11
|
22.05.2024, 19:09 | #6 |
Пользователь
Регистрация: 16.05.2024
Сообщений: 92
|
Проверить какой Питон вызывается при запуске команды python3 можно командой
Код:
Код:
Код:
запускаете интерпретатор Питона в интерактивном режиме и даёте ему команду Код:
На моём компьютере например вот так: Код:
|
23.05.2024, 12:34 | #7 |
Пользователь
Регистрация: 27.03.2023
Сообщений: 25
|
Добрый день
Спасибо DeepFlake
Проверка питона показала which python3 /usr/bin/python3 /usr/bin/python3 Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 Traceback (most recent call last): File "<stdin>", line 1, in <module> ModuleNotFoundError: No module named 'cv2' >>> установил sudo apt install pip потом установил cv2 в в /usr/bin/ командой pip install --target /usr/bin/ opencv-python правда пришлось sudo -su root правами теперь пишет xx:/usr/bin$ python3 Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> Скопировал в sudo cp /home/user/MyProger/main.py /usr/bin теперь командой в терминале :/usr/bin$ python3 main.py скрипт запускается через bash #!/bin/bash # Переход в директорию проекта cd /usr/bin/ # Активация виртуалки #. venv3.10/bin/activate # Выполнить скрипт Python python3 main.py тоже все работает А ЧЕРЕЗ CRONTAB НЕЕТ вот crontab SHELL=/bin/bash * * * * * /usr/bin/myscript.sh вот mail ошибка qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/usr/bin/cv2/qt/plugins" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: xcb. /usr/bin/myscript.sh: строка 10: 16004 Аварийный останов (образ памяти сброшен на диск) python3 main.py |
23.05.2024, 12:36 | #8 |
Пользователь
Регистрация: 27.03.2023
Сообщений: 25
|
ps
а может как то переменные окружения среды или оболочки прописать где нибудь вместо того чтобы в /usr/bin/ устанавливать модули python
|
23.05.2024, 12:55 | #9 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
Так и не надо в /usr/bin/ устанавливать. Ставили бы просто "python3 -m pip install opencv-python".
Попробуйте в задачу добавить: Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
23.05.2024, 13:11 | #10 |
Пользователь
Регистрация: 27.03.2023
Сообщений: 25
|
ans
сделал в crontab вот так
SHELL=/bin/bash * * * * * export DISPLAY=:0 && /usr/bin/myscript.sh ошибка та же индикатор камеры загорается и гаснет mail пишет qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/usr/bin/cv2/qt/plugins" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: xcb. /usr/bin/myscript.sh: строка 10: 5524 Аварийный останов (образ памяти сброшен на диск) python3 main.py |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Почему меня пугает Python? | Izobara | Свободное общение | 31 | 26.03.2013 07:16 |
не рабоатет crontab | Brandan | PHP | 0 | 17.08.2012 21:56 |
А почему нет раздела Python? | alex455 | О форуме и сайтах клуба | 6 | 20.02.2012 19:48 |
D2010. Почему в строке uses, если нажать ctrl+space будут видны не все модули? | TwiX | Свободное общение | 0 | 15.03.2010 02:12 |
Почему не работают модули в Delphi7: DXClass, DXSprite, DXDraws, ExtCtrls, StdCtrls | Mclaren | Помощь студентам | 3 | 02.05.2009 15:13 |