#28174: Cannot run `manage.py runserver` on Windows with quotation mark in .env
file (TypeError: environment can only contain strings)
-------------------------------------+-------------------------------------
               Reporter:  Paul       |          Owner:  nobody
  Mestemaker                         |
                   Type:  Bug        |         Status:  new
              Component:  Core       |        Version:  1.11
  (Management commands)              |
               Severity:  Normal     |       Keywords:
           Triage Stage:             |      Has patch:  0
  Unreviewed                         |
    Needs documentation:  0          |    Needs tests:  0
Patch needs improvement:  0          |  Easy pickings:  0
                  UI/UX:  0          |
-------------------------------------+-------------------------------------
 We have a .env file with a SECRET_KEY defined as follows
 SECRET_KEY="SECRETKEYHERE"

 This causes a failure with Django 1.11. The workarounds are:
 1) Downgrade to Django 1.10
 2) Remove the quotation marks and just have SECRET_KEY=SECRETKEYHERE

 This appears to only be a problem on Windows and does not repro on
 Mac/Linux.

 {{{
 (tmadashboard) c:\development\workspaces\tma\dashboard\dashboard>pip
 install django==1.10 --upgrade
 Collecting django==1.10
   Downloading Django-1.10-py2.py3-none-any.whl (6.8MB)
     100% |################################| 6.8MB 124kB/s
 Installing collected packages: django
   Found existing installation: Django 1.11
     Uninstalling Django-1.11:
       Successfully uninstalled Django-1.11
 Successfully installed django-1.10

 (tmadashboard) c:\development\workspaces\tma\dashboard\dashboard>python
 manage.py runserver
 Performing system checks...

 RUNNING IN DEVELOPMENT MODE. ADDING STATIC FILE DIRECTORIES TO SERVE
 System check identified no issues (0 silenced).
 May 04, 2017 - 12:46:16
 Django version 1.10, using settings 'dashboard.settings'
 Starting development server at http://127.0.0.1:8000/
 Quit the server with CTRL-BREAK.

 (tmadashboard) c:\development\workspaces\tma\dashboard\dashboard>pip
 install --upgrade django
 Collecting django
   Using cached Django-1.11-py2.py3-none-any.whl
 Requirement already up-to-date: pytz in
 c:\development\python\python2712\virtualenvs\tmadashboard\lib\site-
 packages (from django)
 Installing collected packages: django
   Found existing installation: Django 1.10
     Uninstalling Django-1.10:
       Successfully uninstalled Django-1.10
 Successfully installed django-1.11

 (tmadashboard) c:\development\workspaces\tma\dashboard\dashboard>python
 manage.py runserver
 Traceback (most recent call last):
   File "manage.py", line 10, in <module>
     execute_from_command_line(sys.argv)
   File "c:\development\python\Python2712\virtualenvs\tmadashboard\lib
 \site-packages\django\core\management\__init__.py", line 363, in
 execute_from_command_line
     utility.execute()
   File "c:\development\python\Python2712\virtualenvs\tmadashboard\lib
 \site-packages\django\core\management\__init__.py", line 355, in execute
     self.fetch_command(subcommand).run_from_argv(self.argv)
   File "c:\development\python\Python2712\virtualenvs\tmadashboard\lib
 \site-packages\django\core\management\base.py", line 283, in run_from_argv
     self.execute(*args, **cmd_options)
   File "c:\development\python\Python2712\virtualenvs\tmadashboard\lib
 \site-packages\django\core\management\commands\runserver.py", line 62, in
 execute
     super(Command, self).execute(*args, **options)
   File "c:\development\python\Python2712\virtualenvs\tmadashboard\lib
 \site-packages\django\core\management\base.py", line 330, in execute
     output = self.handle(*args, **options)
   File "c:\development\python\Python2712\virtualenvs\tmadashboard\lib
 \site-packages\django\core\management\commands\runserver.py", line 101, in
 handle
     self.run(**options)
   File "c:\development\python\Python2712\virtualenvs\tmadashboard\lib
 \site-packages\django\core\management\commands\runserver.py", line 110, in
 run
     autoreload.main(self.inner_run, None, options)
   File "c:\development\python\Python2712\virtualenvs\tmadashboard\lib
 \site-packages\django\utils\autoreload.py", line 332, in main
     reloader(wrapped_main_func, args, kwargs)
   File "c:\development\python\Python2712\virtualenvs\tmadashboard\lib
 \site-packages\django\utils\autoreload.py", line 303, in python_reloader
     exit_code = restart_with_reloader()
   File "c:\development\python\Python2712\virtualenvs\tmadashboard\lib
 \site-packages\django\utils\autoreload.py", line 289, in
 restart_with_reloader
     exit_code = subprocess.call(args, env=new_environ)
   File "c:\development\python\python2712\Lib\subprocess.py", line 523, in
 call
     return Popen(*popenargs, **kwargs).wait()
   File "c:\development\python\python2712\Lib\subprocess.py", line 711, in
 __init__
     errread, errwrite)
   File "c:\development\python\python2712\Lib\subprocess.py", line 959, in
 _execute_child
     startupinfo)
 TypeError: environment can only contain strings
 }}}

--
Ticket URL: <https://code.djangoproject.com/ticket/28174>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/051.3f3eb98cb34c9ea5bb0783d7946ea482%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to