New submission from Stefan Behnel:

The new importlib shows a regression w.r.t. previous CPython versions. It no 
longer recognises an "__init__.so" file as a package. All previous CPython 
versions have always tested first for an extension file before testing for a 
.py/.pyc file. The new importlib explicitly excludes the ExtensionFileLoader 
from loading packages. See importlib/_bootstrap.py, line 1579 onwards:

   1579 def _get_supported_file_loaders():
   1580     """Returns a list of file-based module loaders.
   1581 
   1582     Each item is a tuple (loader, suffixes, allow_packages).
   1583     """
   1584     extensions = ExtensionFileLoader, _imp.extension_suffixes(), False  
  # <== bug here
   1585     source = SourceFileLoader, SOURCE_SUFFIXES, True
   1586     bytecode = SourcelessFileLoader, BYTECODE_SUFFIXES, True
   1587     return [extensions, source, bytecode]

(BTW, I'm not sure what to file this bug against - "Interpreter Core" or 
"Library"?)

----------
components: Library (Lib)
messages: 167630
nosy: scoder
priority: normal
severity: normal
status: open
title: importlib: ExtensionFileLoader not used to load packages from 
__init__.so files
type: behavior
versions: Python 3.3

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue15576>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to