'ModuleNotFoundError: No module named 'onesignal_client'

I'm setting up my Django Rest API on Linux instance-template-1 5.10.0-14-cloud-amd64 #1 SMP Debian 5.10.113-1 (2022-04-29) x86_64

Python 3.9 is installed and Django 4x

I've installed One signal required by my API using

  • sudo pip3 install onesignal
  • sudo pip3 install onesignal_sdk

The module not found error throws up when I run

  • sudo python3.9 manage.py migrate

The detailed error trace is as follows :

File "/home/lineofsight/myprojects/my API/manage.py", line 22, in <module>
    execute_from_command_line(sys.argv)

File "/usr/local/lib/python3.9/dist-packages/django/core/management/__init__.py", line 446, in execute_from_command_line
    utility.execute()

File "/usr/local/lib/python3.9/dist-packages/django/core/management/__init__.py", line 420, in execute
    django.setup()
  
File "/usr/local/lib/python3.9/dist-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/local/lib/python3.9/dist-packages/django/apps/registry.py", line 116, in populate
    app_config.import_models()
  
File "/usr/local/lib/python3.9/dist-packages/django/apps/config.py", line 304, in import_models
    self.models_module = import_module(models_module_name)
  
File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  
File "/home/lineofsight/myprojects/My API/myapp_auth/models.py", line 25, in <module>
    from myapp_notifications.helpers import get_notification_language_code_for_target_user
  
File "/home/lineofsight/myprojects/My API/myapp_notifications/helpers.py", line 4, in <module>
    import onesignal as onesignal_sdk
  
File "/usr/local/lib/python3.9/dist-packages/onesignal/__init__.py", line 3, in <module>
    from onesignal_client import OneSignal
ModuleNotFoundError: No module named 'onesignal_client'


Solution 1:[1]

I think you didn't install the correct python location. Please try to install using the following commands.

python3.9 -m pip install onesignal
python3.9 -m pip install onesignal_sdk

Hope it could help.

Solution 2:[2]

CircleCI-Public/slack-orb issues 76 suggests (from this thread):

 echo "export COMMIT_MESSAGE=\"$(git log --format=oneline -n 1 $CIRCLE_SHA1)\"" >> $BASH_ENV

In your case, you can use a different variable name (instead of COMMIT_MESSAGE).
But the idea remains to define and export an environment variable, that you can use in your slack message.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 David Lu
Solution 2 VonC