2017-10-13 85 views

Odpowiedz

6

Istnieje ImportError: PyUnicodeUCS4_FromString według śledzenia stosu.

Dzieje się tak, gdy masz zainstalowanych więcej niż jedną wersję Pythona, prawdopodobnie używasz skompilowanego modułu z innym tłumaczeniem niż ten, z którym skompilowałeś moduł.

Python może być zbudowany z wewnętrzną reprezentacją Unicode UCS2 lub UCS4.

Newly created Python applications on Heroku default uses the Python 3.6.2 runtime.

You can specify an arbitrary version of Python to be used to run your application. read docs python-runtimes heroku devcenter

+1

To coś więcej. Nie jest to inna wersja Pythona, ale zwykle spowodowana jest budowaniem pliku binarnego dla pakietu Python przeciwko wersji Pythona 2.7, która ma inną szerokość zestawu znaków Unicode zdefiniowaną w czasie instalacji, niż ta, której używa Python 2.7. Możesz zobaczyć dyskusję na temat problemu w sekcji "Zestawy znaków Unicode" http://blog.dscpl.com.au/2015/06/installing-custom-python-version-into.html –

+1

Co jest dziwne, czy to ponieważ UCS4 jest zwykle używany w Linuksie, sugeruje to, że używana instalacja Python 2.7 została skonfigurowana dla UCS2. Jeśli Heroku wysyła zestaw Python UCS2, który jest sprzeczny z typową praktyką dla dystrybucji Linuksa. Zakładając, że binarne koła linuksowe na PyPi będą wszystkim UCS4, spowodowałoby to wiele problemów, gdyby takowe miały. –

+0

@GrahamDumpleton Możesz edytować moją odpowiedź i dodać te informacje. Może to pomoże. – Satendra