Considere este ejemplo:¿Por qué falla Popen en Windows si el parámetro "env" contiene un objeto Unicode?
>>> import subprocess as sp
>>> sp.Popen("notepad2.exe",env={"PATH":"C:\\users\\guillermo\\smallapps\\bin"})
<subprocess.Popen object at 0x030DF430>
>>> sp.Popen("notepad2.exe",env={"PATH":u"C:\\users\\guillermo\\smallapps\\bin"})
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python26\lib\subprocess.py", line 633, in __init__
errread, errwrite)
File "C:\Python26\lib\subprocess.py", line 842, in _execute_child
startupinfo)
TypeError: environment can only contain strings
He rastreado el error de este código CPython:
http://hg.python.org/cpython/file/ca54c27a9045/Modules/_winapi.c#l511
Soy incapaz de udnerstand lo PyUnicode_Check
hace, sin embargo:
http://hg.python.org/cpython/file/26af48f65ef3/Objects/unicodeobject.c#l73
Así que sugieren el uso de Python 3 va a resolver este error Por favor consejo. Como yo también estoy enfrentando este problema, https://github.com/django-dbbackup/django-dbbackup/issues/147 –