We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
I'm trying to run:
zappa manage production 'shell -c "from django.contrib.auth import get_user_model; get_user_model().objects.create_superuser(username=\"admin\", password=\"changeme\")"'
It will invoke a command that is equivalent to:
manage.py shell -c "from django.contrib.auth import get_user_model; get_user_model().objects.create_superuser(username=\"admin\", password=\"changeme\")"
[START] RequestId: edf0eeda-879e-41ca-8595-e51a0adaee17 Version: $LATEST [ERROR] CommandError: Error: unrecognized arguments: django.contrib.auth import get_user_model; get_user_model().objects.create_superuser(username="admin", password="changeme")\' Traceback (most recent call last): File "/tmp/project/sentry_sdk/integrations/aws_lambda.py", line 57, in sentry_handler reraise(*exc_info) File "/tmp/project/sentry_sdk/_compat.py", line 57, in reraise raise value File "/tmp/project/sentry_sdk/integrations/aws_lambda.py", line 48, in sentry_handler return handler(event, context, *args, **kwargs) File "/var/task/handler.py", line 609, in lambda_handler return LambdaHandler.lambda_handler(event, context) File "/var/task/handler.py", line 243, in lambda_handler return handler.handler(event, context) File "/var/task/handler.py", line 408, in handler management.call_command(*event['manage'].split(' ')) File "/tmp/project/django/core/management/__init__.py", line 147, in call_command defaults = parser.parse_args(args=parse_args) File "/tmp/project/django/core/management/base.py", line 55, in parse_args return super().parse_args(args, namespace) File "/var/lang/lib/python3.7/argparse.py", line 1758, in parse_args self.error(msg % ' '.join(argv)) File "/tmp/project/django/core/management/base.py", line 61, in error raise CommandError("Error: %s" % message)
I suspect the issue is here:
Zappa/zappa/handler.py
Line 408 in 0c8d99d
The code is simply splitting arguments by spaces where shlex.split might be more appropriate.
shlex.split
>>> manage = 'shell -c "from django.contrib.auth import get_user_model; get_user_model().objects.create_superuser(username=\\"admin\\", password=\\"changeme\\")"' >>> manage.split(" ") ['shell', '-c', '"from', 'django.contrib.auth', 'import', 'get_user_model;', 'get_user_model().objects.create_superuser(username=\\"admin\\",', 'password=\\"changeme\\")"'] >>> import shlex >>> shlex.split(manage) ['shell', '-c', 'from django.contrib.auth import get_user_model; get_user_model().objects.create_superuser(username="admin", password="changeme")']
Zappa version used: 0.51.0
Operating System and Python version: MacOS Python3.7
The output of pip freeze:
pip freeze
appnope==0.1.0 argcomplete==1.12.0 asgiref==3.2.10 backcall==0.2.0 boto==2.39.0 boto3==1.14.25 botocore==1.17.25 certifi==2020.6.20 cffi==1.14.0 cfn-flip==1.2.3 chardet==3.0.4 click==7.1.2 cryptography==3.0 decorator==4.4.2 dj-database-url==0.5.0 Django==3.0.8 django-storages==1.9.1 docutils==0.15.2 durationpy==0.5 filechunkio==1.6 future==0.18.2 futures==3.0.4 goodconf==1.0.0 hjson==3.0.1 idna==2.10 importlib-metadata==1.7.0 ipykernel==5.3.3 ipython==7.16.1 ipython-genutils==0.2.0 jedi==0.17.2 jmespath==0.10.0 jupyter-client==6.1.6 jupyter-core==4.6.3 kappa==0.6.0 lxml==4.5.2 nose==1.3.7 ntlm-auth==1.5.0 numpy==1.19.1 pandas==1.0.5 parso==0.7.0 pexpect==4.8.0 pickleshare==0.7.5 pip-tools==5.2.1 placebo==0.9.0 prompt-toolkit==3.0.5 psycopg2-binary==2.8.5 ptyprocess==0.6.0 pycparser==2.20 Pygments==2.6.1 python-dateutil==2.6.1 python-slugify==4.0.1 pytz==2020.1 PyYAML==5.3.1 pyzmq==19.0.1 requests==2.24.0 requests-ntlm==1.1.0 requests-toolbelt==0.9.1 ruamel.yaml==0.16.10 ruamel.yaml.clib==0.2.0 s3transfer==0.3.3 sentry-sdk==0.16.1 SharePlum==0.5.1 six==1.15.0 sqlparse==0.3.1 text-unidecode==1.3 toml==0.10.1 tornado==6.0.4 tqdm==4.48.0 traitlets==4.3.3 troposphere==2.6.2 urllib3==1.25.9 wcwidth==0.2.5 Werkzeug==0.16.1 whitenoise==5.1.0 wsgi-request-logger==0.4.6 xlrd==1.2.0 zappa==0.51.0 zipp==3.1.0
Link to your project (optional):
Your zappa_settings.json:
zappa_settings.json
{ "production": { "aws_region": "us-west-2", "django_settings": "project.settings", "exclude": ["project.yml"], "project_name": "project", "runtime": "python3.7", "s3_bucket": "project", "manage_roles": false, "keep_warm": false, "role_arn": "arn:aws:iam::xxxx:role/service-role/project-lambda-service", "route53_enabled": false, "domain": "project.example.com", "async_resources": false, "apigateway_enabled": false, "lambda_description": "my project", "slim_handler": true, "memory_size": 256, "timeout_seconds": 300, "log_level": "INFO" } } ```
The text was updated successfully, but these errors were encountered:
fix: use shlex to split management args
68c2989
fixes Miserlou#2139
Successfully merging a pull request may close this issue.
Context
I'm trying to run:
Expected Behavior
It will invoke a command that is equivalent to:
Actual Behavior
Possible Fix
I suspect the issue is here:
Zappa/zappa/handler.py
Line 408 in 0c8d99d
The code is simply splitting arguments by spaces where
shlex.split
might be more appropriate.Your Environment
Zappa version used: 0.51.0
Operating System and Python version: MacOS Python3.7
The output of
pip freeze
:Link to your project (optional):
Your
zappa_settings.json
:The text was updated successfully, but these errors were encountered: