Что правильный путь состоит в том, чтобы использовать метаданные Unicode в setup.py?

Ответ обновлен для для Xcode GM Seed:

  1. В Info.plist положить View controller-based status bar appearance как NO

  2. В проекте , установите:

    Enter image description here

  3. В ViewDidLoad:

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

9
задан Marius Gedminas 21 July 2009 в 23:43
поделиться

3 ответа

Очевидно, это ошибка distutils, которая была исправлена ​​в python 2.6: http://mail.python.org/pipermail/distutils-sig/2009-September/013275.html

Тарек предлагает исправить post_to_server. Патч должен предварительно обработать все значения в аргумент data и превратите их в Unicode, а затем вызовите исходный метод. См. http://mail.python.org/pipermail/distutils-sig/2009-September/013277.html

5
ответ дан 4 December 2019 в 21:51
поделиться
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from setuptools import setup
setup(name="fudz",
      description="fudzily",
      version="0.1",
      long_description=u"bläh bläh".encode("UTF-8"), # in real code this value is read from a text file
      py_modules=["fudz"],
      author="David Fraser",
      author_email="davidf@sjsoft.com",
      url="http://en.wikipedia.org/wiki/Fudz",
      )

Я тестирую с помощью приведенного выше кода - нет ошибок из --long-description, только из rst2html; загрузка, похоже, работает нормально (хотя на самом деле я отменяю загрузку), и при регистрации у меня запрашивается мое имя пользователя, которого у меня нет. Но трассировка в вашем комментарии полезна - это автоматическое преобразование в unicode в команде register , которая вызывает проблему.

См. иллюзорное setdefaultencoding для дополнительная информация об этом - в основном вы хотите, чтобы кодировка по умолчанию в Python могла преобразовывать вашу закодированную строку обратно в unicode, но это сложно настроить. В этом случае я думаю, что это того стоит:

import sys
reload(sys).setdefaultencoding("UTF-8")

Или, если быть точным, вы можете получить его из локали - код закомментирован в /usr/lib/python2.6/site .

3
ответ дан 4 December 2019 в 21:51
поделиться

You need to change your unicode long description u"bläh bläh bläh" to a normal string "bläh bläh bläh" and add an encoding header as the second line of your file:

#!/usr/bin/env python
# encoding: utf-8
...
...

Obviously, you need to save the file with UTF-8 encoding, too.

1
ответ дан 4 December 2019 в 21:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: