2017-10-13 89 views

回答

6

還有ImportError:PyUnicodeUCS4_FromString根據堆棧跟蹤。

當您安裝了多個版本的Python時會發生這種情況,您可能正在使用與編譯該模塊的解釋器不同的解釋器運行編譯後的模塊。

Python可以使用UCS2或UCS4的內部Unicode表示形式構建。

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

它不止於此。它不是Python版本,但通常是由Python 2.7版本的Python二進制文件構建的,該版本在安裝時定義了不同的Unicode字符集寬度,而不是目標Python 2.7使用的版本。您可以在http://blog.dscpl.com.au/2015/06/installing-custom-python-version-into.html –

+1

的「Unicode字符集」一節中看到有關此問題的討論。奇怪的是,由於UCS4通常用於Linux,因此這表明正在使用的Python 2.7安裝已針對UCS2進行了配置。如果Heroku提供UCS2編譯的Python,這與Linux發行版的典型做法背道而馳。假設在PyPi上的二進制Linux輪子將全部是UCS4,如果它們有問題會導致很多問題。 –

+0

@GrahamDumpleton您可以編輯我的答案並添加這些信息。可能會有幫助。 – Satendra

相關問題