Considerate questo esempio:Perché Popen non funziona su Windows se il parametro "env" contiene un oggetto 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
ho fatta risalire l'errore a questo codice CPython:
http://hg.python.org/cpython/file/ca54c27a9045/Modules/_winapi.c#l511
Sono in grado di udnerstand quello PyUnicode_Check
fa, però:
http://hg.python.org/cpython/file/26af48f65ef3/Objects/unicodeobject.c#l73
Così vi proponiamo utilizzando Python 3 sarà risolvere il problema si prega di consulenza. Poiché sto affrontando questo problema, https://github.com/django-dbbackup/django-dbbackup/issues/147 –