SmartQuery /ВОПРОС → ПРИМЕР → ПОНЯТНЫЙ ОТВЕТ
Языки и платформы

PyWhatKit не работает: сначала отделите окружение от отправки

«Не работает» может означать ошибку установки, сбой импорта или действие в браузере без ожидаемого результата. Эти случаи требуют разных проверок. У PyWhatKit часть функций управляет окном браузера и клавиатурой, поэтому наличие Python и доступа в интернет само по себе недостаточно.

Проверить пакет в нужном интерпретаторе

python -c "import sys; print(sys.executable)"
python -m pip show pywhatkit
python -m pip check
python -c "from importlib.metadata import version; print(version('pywhatkit'))"

Последняя команда читает метаданные установленного пакета, а не импортирует pywhatkit. Это важно для первичной диагностики: его модули могут обращаться к GUI и сети уже при импорте. Ошибка PackageNotFoundError означает отсутствие пакета именно в выбранном окружении; файл с именем pywhatkit.py рядом с программой тоже способен перекрыть установленную библиотеку.

Если проблема возникла при установке или после обновления

Проверьте поддерживаемые версии Python и зависимости выбранного релиза. Повторите установку в отдельном виртуальном окружении с тем же интерпретатором; не меняйте одновременно все пакеты работающего проекта. У параметра обновления два обычных дефиса:

python -m pip install --upgrade pywhatkit
python -m pip check

Эту команду применяйте в подготовленном тестовом окружении после проверки совместимости. Обновление не исправляет отсутствующий дисплей, недействующую сессию браузера или изменившуюся страницу WhatsApp.

Если импорт проходит, а окно не выполняет действие

  • Для GUI-автоматизации нужна действующая графическая сессия. Headless-контейнер или SSH-сеанс без рабочего стола не равен интерактивному компьютеру.
  • Проверьте вручную, открывается ли нужная страница и выполнен ли вход в собственную сессию браузера. Не передавайте QR входа, cookies или session-файлы посторонним.
  • Время вызова и запас wait_time должны учитывать загрузку страницы. Больше секунд не исправят неверный получатель или исчезнувший элемент интерфейса.
  • После сбоя сначала проверьте, не отправлено ли сообщение уже. Слепой повтор может создать дубликат.

Что приложить к воспроизводимому отчёту

Укажите ОС, версию Python, версию PyWhatKit, название вызванной функции и обезличенный traceback. Номер телефона, текст личного сообщения и данные входа уберите. Сначала воспроизводите ошибку без отправки; проверку отправки выполняйте только по согласованию с получателем. Не отключайте защиту системы или аварийный останов GUI-автоматизации ради исчезновения ошибки.

Документация