Serg Asminog akudov...@gmail.com added the comment:
dirname = 'A-Za-z\xc4\xd6\xdc\xe4\xf6\xfc\xdf'
Traceback (most recent call last):
File D:\temp\python bug\test.py, line 19, in module
file_object, file_path, description = imp.find_module(basename, [dirname])
UnicodeEncodeError: 'mbcs'
STINNER Victor victor.stin...@haypocalc.com added the comment:
@Serg Asminog: What is your Python version? What is your locale encoding
(print(sys.getfilesystemencoding())? What is your Windows version?
--
___
Python tracker rep...@bugs.python.org
Serg Asminog akudov...@gmail.com added the comment:
print(sys.getfilesystemencoding())
print(os.name)
print(sys.version)
print(sys.version_info)
print(sys.platform)
-
mbcs
nt
3.2.2 (default, Sep 4 2011, 09:07:29) [MSC v.1500 64 bit (AMD64)]
sys.version_info(major=3, minor=2, micro=2,
Serg Asminog akudov...@gmail.com added the comment:
Also
Traceback (most recent call last):
File D:\temp\python bug\test.py, line 20, in module
file_object, file_path, description = imp.find_module(basename, [dirname])
ImportError: No module named mymodule
with python 2.6.6
STINNER Victor victor.stin...@haypocalc.com added the comment:
Oops, it's not sys.getfilesystemencoding(), but locale.getpreferredencoding()
which is interesting. Can you give me your locale encoding?
--
___
Python tracker rep...@bugs.python.org
Serg Asminog akudov...@gmail.com added the comment:
cp1251
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4352
___
___
Python-bugs-list mailing
STINNER Victor victor.stin...@haypocalc.com added the comment:
Good news: this issue is now fixed in py3k (Python 3.2). I cannot give a commit
number, because there are too much commits related to this problem (see #8611
and #9425), but it works ;-)
--
resolution: - fixed
status:
STINNER Victor victor.stin...@haypocalc.com added the comment:
I wrote a patch to fix this issue, see #9425.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4352
___
STINNER Victor victor.stin...@haypocalc.com added the comment:
I closed issue #850997, mbcs is now really strict by default:
'h\u00e4kkinen'.encode('mbcs')
UnicodeEncodeError: ...
'h\u00e4kkinen'.encode('mbcs', 'replace')
b'hakkinen'
PyUnicode_EncodeFSDefault(), PyUnicode_DecodeFSDefault()
STINNER Victor victor.stin...@haypocalc.com added the comment:
About the mbcs encoding: issue #850997 proposes to make it more strict.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4352
STINNER Victor victor.stin...@haypocalc.com added the comment:
See also #8611.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4352
___
___
Guido van Rossum gu...@python.org added the comment:
At the sprint, Andrew Svetlov, Martin von Loewis and I looked into this
a bit, and discovered that Andrew's Vista copy uses a Russian locale for
the filesystem encoding (despite using English as the language). In
this locale, a-umlaut cannot
Andrew Svetlov andrew.svet...@gmail.com added the comment:
I can reproduce this problem on Windows Vista, fresh py3k sources.
Looks like bug occurs only with Latin-1 characters.
At least Cyrillic works ok.
--
nosy: +asvetlov
___
Python tracker
Andrew Svetlov andrew.svet...@gmail.com added the comment:
From my understanding (after tracing/debugging) problem lies in import.c
find_module tries to convert path from unicode to bytestring using
Py_FileSystemDefaultEncoding (line 1397). For Windows it is 'mbcs'.
Conversion done with
STINNER Victor victor.stin...@haypocalc.com added the comment:
Oh, I found sys.setfilesystemencoding(latin-1)! But even with that,
your example find_module.py works correctly with py3k trunk. The
problem has maybe gone?
--
___
Python tracker
Benjamin Peterson benja...@python.org added the comment:
Well, latin-1 can decode any arbitrary array of bytes, so of course it
won't fail. :)
--
nosy: +benjamin.peterson
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4352
STINNER Victor [EMAIL PROTECTED] added the comment:
The example works correctly on Linux (py3k trunk). The problem is maybe
specific to Windows?
--
nosy: +haypo
___
Python tracker [EMAIL PROTECTED]
http://bugs.python.org/issue4352
Amaury Forgeot d'Arc [EMAIL PROTECTED] added the comment:
Indeed. It happens when the filesystem encoding is not utf-8.
I have several changes in my local workspace about this, which also deal
with zipimport and other places that import modules.
I suggest to let 3.0 go out and correct all this
Changes by Jukka Aho [EMAIL PROTECTED]:
--
title: imp.find_module() causes UnicodeDecodeError with non-ASCII search paths
- imp.find_module() fails with a UnicodeDecodeError when called with non-ASCII
search paths
___
Python tracker [EMAIL
19 matches
Mail list logo