Search code examples
pythongunicornsysargs

Cannot run gunicorn with sys.argv --bind


I am required to spin up gunicorn for an app from a python script and am trying to run gunicorn --bind 0.0.0.0:5000 tito.wsgi:application. I have tried the following:

import sys

    sys.argv = ['--gunicorn']

    sys.argv.append("--bind 0.0.0.0:5000")
    sys.argv.append("myapp.execute:application")


    WSGIApplication(
        usage="%(prog)s [OPTIONS] [APP_MODULE]"
    ).run()

This ends up with the following error:

File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named '--bind 0'

If I run as:

sys.argv = ['--gunicorn --bind 0.0.0.0:5000'] 

It wont pick up the --bind parameter This works with out the --bind option. How to make this run with --bind 0.0.0.0:5000 as an argument?


Solution

  • Well this sys.argv.append("-b 0.0.0.0:5000") did the trick. Seems it identified --bind as a module