Найти - Пользователи
Полная версия: Boost.Python под Python 3.1 проблема с юникодом
Начало » Python для экспертов » Boost.Python под Python 3.1 проблема с юникодом
1 2
Андрей Светлов
Я на винде проверял…
Ошибка при импорте?
В “Locale and Regional Setting” (или как там это называется в Control Panel) русский стоит по умолчанию? Combo box в последней закладке.
Какой sys.getfilesystemencoding() sys.getdefaultencoding() и locale.getpreferredencoding() ?
HexRx
Андрей Светлов
Ошибка при импорте?
Да
Андрей Светлов
В “Locale and Regional Setting” (или как там это называется в Control Panel) русский стоит по умолчанию? Combo box в последней закладке.
Русский
Андрей Светлов
sys.getfilesystemencoding()
mbcs
Андрей Светлов
sys.getdefaultencoding()
utf-8
Андрей Светлов
locale.getpreferredencoding()
cp1251
Андрей Светлов
Вот так да!
Полтора года назад у меня все это счастье работало.
Думаю, ошибка не в собственно UnicodeDecodeError. Питон просто не может правильно ее напечатать.
Если вас не затруднит, сделайте что-то вроде
import traceback
try:
import hello_ext
except ImportError as ex:
traceback.print_exc(file=open("log.txt", "w"))
Думаю, в log.txt можно будет увидеть больше.
HexRx
import traceback
try:
import hello_ext
except ImportError as ex:
traceback.print_exc(file=open("log.txt", "w"))
Код выполнился с ошибкой и файл не создался :(
Traceback (most recent call last):
File "test_hello.py", line 8, in <module>
import hello_ext
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 30-31: invalid data
Андрей Светлов
Ой-ё!
Скажите пожалуйста, ваш путь к hello_ext.pyd.
И еще. Как я понимаю - это модуль верхнего уровня, без всяких package.subpackage.module ?
Последнее: вы можете импортировать .py файлы из этого же места или нет? Не Python C Extensions, а именно .py?
И, на всякий случай, какая у вас Винда?

Кажется, прийдется поставить ее в виртуалке и внимательно посмотреть самому.
Англоязычный народ не уделяет достаточного внимания всяким там разным кодировкам.
Разработчики питона к тому же используют в основном MacOs и Linux. Сознавая, что Винда тоже необходима.
Да что там говорить, у Мартина вон Лёвиса макбук - и этот человек Windows Python Maintainer.
При всем уважении к его действительно глубоким знаниям Windows он таки большую часть времени работает как posix programmer (а там уже не столь важно, Linux или MacOS).
HexRx
Андрей Светлов
Скажите пожалуйста, ваш путь к hello_ext.pyd.
C:\Documents and Settings\User\Мои документы\Visual Studio 2008\Projects\Boost.Python\Release
Андрей Светлов
И еще. Как я понимаю - это модуль верхнего уровня, без всяких package.subpackage.module ?
Да, верхнего
Андрей Светлов
Последнее: вы можете импортировать .py файлы из этого же места или нет? Не Python C Extensions, а именно .py?
Как странно но .py импортируются.
Андрей Светлов
И, на всякий случай, какая у вас Винда?
Windows XP SP3 сборка Game Edition :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB