Brett Cannon
f4375ef4d4
importlib.abc.SourceLoader.get_source() was re-raising SyntaxError and
...
UnicodeDecodeError as ImportError. That was over-reaching the point of
raising ImportError in get_source() (which is to signal the source
code was not found when it should have). Conflating the two exceptions
with ImportError could lead to masking errors with the source which
should be known outside of whether there was an error simply getting
the source to begin with.
2013-06-16 18:05:54 -04:00
Brett Cannon
01b0475b08
Issue #18115 : Abstract out managing the cleanup of modules to use in
...
loaders where C code provides the loaded module.
2013-06-16 17:23:06 -04:00
Brett Cannon
13d8ff9c5b
Issues #18058 , 18057: Make importlib._bootstrap.NamespaceLoader
...
conform the the InspectLoader ABC. Perk of this is that runpy/-m can
now work with namespace packages.
2013-06-16 14:56:58 -04:00
Brett Cannon
a3c96154d2
Issue #17907 : touch up the code for imp.new_module().
2013-06-14 22:26:30 -04:00
Brett Cannon
05a647deed
Issue #18192 : Introduce importlib.util.MAGIC_NUMBER and document the
...
deprecation of imp.get_magic().
2013-06-14 19:02:34 -04:00
Brett Cannon
3fe35e6503
Issue #18193 : Add importlib.reload(), documenting (but not
...
implementing in code) the deprecation of imp.reload().
Thanks to Berker Peksag for the patch.
2013-06-14 15:04:26 -04:00
Brett Cannon
0a140668fa
Issue #18200 : Update the stdlib (except tests) to use
...
ModuleNotFoundError.
2013-06-13 20:57:26 -04:00
Brett Cannon
8f5ac5106e
Issue #15767 : Touch up ModuleNotFoundError usage by import.
...
Forgot to raise ModuleNotFoundError when None is found in sys.modules.
This led to introducing the C function PyErr_SetImportErrorSubclass()
to make setting ModuleNotFoundError easier.
Also updated the reference docs to mention ModuleNotFoundError
appropriately. Updated the docs for ModuleNotFoundError to mention the
None in sys.modules case.
Lastly, it was noticed that PyErr_SetImportError() was not setting an
exception when returning None in one case. That issue is now fixed.
2013-06-12 23:29:18 -04:00
Brett Cannon
b1611e2772
Issue #15767 : Introduce ModuleNotFoundError, a subclass of
...
ImportError.
The exception is raised by import when a module could not be found.
Technically this is defined as no viable loader could be found for the
specified module. This includes ``from ... import`` statements so that
the module usage is consistent for all situations where import
couldn't find what was requested.
This should allow for the common idiom of::
try:
import something
except ImportError:
pass
to be updated to using ModuleNotFoundError and not accidentally mask
ImportError messages that should propagate (e.g. issues with a
loader).
This work was driven by the fact that the ``from ... import``
statement needed to be able to tell the difference between an
ImportError that simply couldn't find a module (and thus silence the
exception so that ceval can raise it) and an ImportError that
represented an actual problem.
2013-06-12 16:59:46 -04:00
Brett Cannon
12d400db65
explanatory comment
2013-06-11 17:34:04 -04:00
Brett Cannon
865b2925dd
typo fix
2013-06-11 17:22:39 -04:00
Brett Cannon
4e694d6fa9
tweak exception message (again)
2013-06-05 18:37:50 -04:00
Brett Cannon
af38f5a503
Tweak at the suggestion of Ezio Melotti for exception messages when
...
EOF is hit while trying to read the header of a bytecode file.
2013-06-04 17:34:49 -04:00
Brett Cannon
0e75c06886
fix whitespace
2013-05-31 18:57:45 -04:00
Brett Cannon
0dbb4c7f13
Issues #18088 , 18089: Introduce
...
importlib.abc.Loader.init_module_attrs() and implement
importlib.abc.InspectLoader.load_module().
The importlib.abc.Loader.init_module_attrs() method sets the various
attributes on the module being loaded. It is done unconditionally to
support reloading. Typically people used
importlib.util.module_for_loader, but since that's a decorator there
was no way to override it's actions, so init_module_attrs() came into
existence to allow for overriding. This is also why module_for_loader
is now pending deprecation (having its other use replaced by
importlib.util.module_to_load).
All of this allowed for importlib.abc.InspectLoader.load_module() to
be implemented. At this point you can now implement a loader with
nothing more than get_code() (which only requires get_source();
package support requires is_package()). Thanks to init_module_attrs()
the implementation of load_module() is basically a context manager
containing 2 methods calls, a call to exec(), and a return statement.
2013-05-31 18:56:47 -04:00
Brett Cannon
f1d7b11db9
Docstring cleanup
2013-05-31 18:39:07 -04:00
Brett Cannon
c29cb41822
Fix for last commit on adding reset_name to module_to_load
2013-05-31 18:37:44 -04:00
Brett Cannon
b60a43eabf
Add a reset_name argument to importlib.util.module_to_load in order to
...
control whether to reset the module's __name__ attribute in case a
reload is being done.
2013-05-31 18:11:17 -04:00
Brett Cannon
357c9fb055
Rename importlib.util.ModuleManager to module_to_load so that the name
...
explains better what the context manager is providing.
2013-05-30 17:31:47 -04:00
Brett Cannon
3dc48d6f69
Issue #18070 : importlib.util.module_for_loader() now sets __loader__
...
and __package__ unconditionally in order to do the right thing for
reloading.
2013-05-28 18:35:54 -04:00
Brett Cannon
a3687f0d68
Introduce importlib.util.ModuleManager which is a context manager to
...
handle providing (and cleaning up if needed) the module to be loaded.
A future commit will use the context manager in
Lib/importlib/_bootstrap.py and thus why the code is placed there
instead of in Lib/importlib/util.py.
2013-05-28 17:29:34 -04:00
Brett Cannon
3b62ca88e4
Issue #18072 : Implement get_code() for importlib.abc.InspectLoader and
...
ExecutionLoader.
2013-05-27 21:11:04 -04:00
Brett Cannon
9ffe85e1e8
Move importlib.abc.SourceLoader.source_to_code() to InspectLoader.
...
While the previous location was fine, it makes more sense to have the
method higher up in the inheritance chain, especially at a point where
get_source() is defined which is the earliest source_to_code() could
programmatically be used in the inheritance tree in importlib.abc.
2013-05-26 16:45:10 -04:00
Benjamin Peterson
e8e14591eb
rather than passing locals to the class body, just execute the class body in the proper environment
2013-05-16 14:37:25 -05:00
Benjamin Peterson
312595ce3a
hide the __class__ closure from the class body ( #12370 )
2013-05-15 15:26:42 -05:00
Brett Cannon
4c14b5de1c
#17115,17116: Have modules initialize the __package__ and __loader__
...
attributes to None.
The long-term goal is for people to be able to rely on these
attributes existing and checking for None to see if they have been
set. Since import itself sets these attributes when a loader does not
the only instances when the attributes are None are from someone
overloading __import__() and not using a loader or someone creating a
module from scratch.
This patch also unifies module initialization. Before you could have
different attributes with default values depending on how the module
object was created. Now the only way to not get the same default set
of attributes is to circumvent initialization by calling
ModuleType.__new__() directly.
2013-05-04 13:56:58 -04:00
Benjamin Peterson
3b0431dc60
check local class namespace before reaching for cells ( closes #17853 )
2013-04-30 09:41:40 -04:00
Brett Cannon
edfd6ae79c
Issue #17244 : Don't mask exceptions raised during the creation of
...
bytecode files in py_compile.
Thanks to Arfrever Frehtes Taifersar Arahesis for the bug report.
2013-04-14 12:48:15 -04:00
Brett Cannon
100883f0cb
Issue #17093,17566,17567: Methods from classes in importlib.abc now raise/return
...
the default exception/value when called instead of raising/returning
NotimplementedError/NotImplemented (except where appropriate).
This should allow for the ABCs to act as the bottom/end of the MRO with expected
default results.
As part of this work, also make importlib.abc.Loader.module_repr()
optional instead of an abstractmethod.
2013-04-09 16:59:39 -04:00
Brett Cannon
daf4daa295
merge
2013-04-01 13:25:40 -04:00
Brett Cannon
f8ffec0617
Issue #17357 : Add missing verbosity messages when running under
...
-v/-vv that were lost in the transition to importlib.
2013-04-01 13:10:51 -04:00
Victor Stinner
765531d2d0
Issue #17516 : use comment syntax for comments, instead of multiline string
2013-03-26 01:11:54 +01:00
Benjamin Peterson
440282ba8a
copy 2.7 magic numbers for historical interest
2013-03-21 23:04:45 -05:00
Brett Cannon
327992330e
Issue #17099 : Have importlib.find_loader() raise ValueError when
...
__loader__ is not set on a module. This brings the exception in line
with when __loader__ is None (which is equivalent to not having the
attribute defined).
2013-03-13 11:09:08 -07:00
Brett Cannon
4802becb16
Issue #17117 : Have both import itself and importlib.util.set_loader()
...
set __loader__ on a module when set to None.
Thanks to Gökcen Eraslan for the fix.
2013-03-13 10:41:36 -07:00
Brett Cannon
c190389834
Issue #17220 : two fixes for changeset 2528e4aea338.
...
First, because the mtime can exceed 4 bytes, make sure to mask it down to 4
bytes before getting its little-endian representation for writing out to a .pyc
file.
Two, cap an rsplit() call to 1 split, else can lead to too many values being
returned for unpacking.
2013-02-25 17:10:11 -05:00
Serhiy Storchaka
39e47f94ec
Issue #17220 : Little cleanup of _bootstrap.py.
2013-02-25 15:40:33 +02:00
Eric Snow
5df9f82547
Merge from 3.3
2013-02-16 22:25:31 -07:00
Eric Snow
5b49962f7e
Fixes a FileFinder docstring to reflect an old change.
...
That change was in 1db6553f3f8c.
2013-02-16 22:23:48 -07:00
Benjamin Peterson
419d9a83d5
evaluate lambda keyword-only defaults after positional defaults ( #16967 again)
2013-02-10 09:48:22 -05:00
Benjamin Peterson
1ef876cd28
evaluate positional defaults before keyword-only defaults ( closes #16967 )
2013-02-10 09:29:59 -05:00
Brett Cannon
85ae3566d1
Merge w/ 3.3 more fixes thanks to issue #17098
2013-02-01 16:36:29 -05:00
Brett Cannon
da9cf0eef8
Issue #17098 : Be more stringent of setting __loader__ on early imported
...
modules. Also made test more rigorous.
2013-02-01 15:31:49 -05:00
Brett Cannon
611afc1b3f
Issue #17098 : all modules should have __loader__
2013-02-01 14:07:28 -05:00
Brett Cannon
0ecd30b4af
Issue #17098 : Make sure every module has __loader__ defined.
...
Thanks to Thomas Heller for the bug report.
2013-02-01 14:04:12 -05:00
Brett Cannon
f3220d6af7
Tweak an exception message
2013-01-27 13:04:56 -05:00
Brett Cannon
14581d5dc4
Port py_compile over to importlib
2013-01-26 08:48:36 -05:00
Brett Cannon
686e880f20
Touch up exception messaging
2013-01-25 13:49:19 -05:00
Brett Cannon
569ff4fbbc
Issue #15031 : Refactor some code in importlib pertaining to validating
...
and compiling bytecode.
Thanks to Ronan Lamy for pointing the redundancy and taking an initial
stab at the refactor (as did Nick Coghlan).
2013-01-11 18:09:25 -05:00
Brett Cannon
c57f9f9419
Merge from 3.3 for fix for issue #16730
2013-01-11 15:42:30 -05:00
Brett Cannon
a9976b3e32
Issue #16730 : Don't raise an exception in
...
importlib.machinery.FileFinder when the directory has become
unreadable or a file. This brings semantics in line with Python 3.2
import.
Reported and diagnosed by David Pritchard.
2013-01-11 15:40:12 -05:00
Andrew Svetlov
f7a17b48d7
Replace IOError with OSError ( #16715 )
2012-12-25 16:47:37 +02:00
Andrew Svetlov
2606a6f197
Issue #16719 : Get rid of WindowsError. Use OSError instead
...
Patch by Serhiy Storchaka.
2012-12-19 14:33:35 +02:00
Eric Snow
a6cfb28bd2
Issue #15627 : This is simply an update to the name of a new method recently added
...
to importlib.abc.SourceLoader.
2012-12-04 23:43:43 -08:00
Barry Warsaw
b72c10996e
- Issue #16514 : Fix regression causing a traceback when sys.path[0] is None
...
(actually, any non-string or non-bytes type).
2012-11-20 15:35:27 -05:00
Barry Warsaw
82c1c781c7
- Issue #16514 : Fix regression causing a traceback when sys.path[0] is None
...
(actually, any non-string or non-bytes type).
2012-11-20 15:22:51 -05:00
Brett Cannon
5650e4f41c
Issue #15627 : Add the compile_source() method to
...
importlib.abc.SourceLoader.
This provides an easy hook into the import system to allow for source
transformations, AST optimizations, etc.
2012-11-18 10:03:31 -05:00
Brett Cannon
10f19812b5
Merge fix for #16489 from 3.3
2012-11-17 09:33:14 -05:00
Brett Cannon
56b4ca78d8
Issue #16489 : Make it clearer that importlib.find_loader() requires
...
the user to import any parent packages.
2012-11-17 09:30:55 -05:00
Benjamin Peterson
29824550b1
merge 3.3
2012-11-12 16:48:25 -05:00
Benjamin Peterson
debf64ce2b
missing letter
2012-11-12 16:48:17 -05:00
Andrew Svetlov
90a654b1dd
Issue #15641 : Clean up deprecated classes from importlib
...
Patch by Taras Lyapun.
2012-11-05 09:34:46 +02:00
Nick Coghlan
d4f5ad6c6e
Merge fix from #6074 from 3.3
2012-10-19 23:36:15 +10:00
Nick Coghlan
eb8d627bbd
Issue #6074 : Apply an appropriate fix for importlib based imports
2012-10-19 23:32:00 +10:00
Trent Nelson
744faddae8
Merge issue #15833 : don't raise an exception if importlib can't write
...
byte-compiled files.
This fixes a regression introduced by 3.3.
Patch by Charles-François Natali.
2012-10-16 08:03:21 -04:00
Trent Nelson
d783c8ed00
Issue #15833 : don't raise an exception if importlib can't write byte-compiled
...
files.
This fixes a regression introduced by 3.3. Patch by Charles-François Natali.
2012-10-16 07:47:34 -04:00
Brett Cannon
6072e0bf42
Remove uses of % with str.format.
2012-10-12 10:00:34 -04:00
Brett Cannon
9407d50208
Merge fix for issue #15111 .
2012-10-10 19:18:37 -04:00
Brett Cannon
a6ce4fd426
Closes issue #15111 : Calling __import__ with a module specified in
...
fromlist which causes its own ImportError (e.g. the module tries to
import a non-existent module) should have that exception propagate.
2012-10-10 19:03:46 -04:00
Jesus Cea
4791a24268
#16135 : Removal of OS/2 support (Python code partial cleanup)
2012-10-05 03:15:39 +02:00
Brett Cannon
8ed677db12
Add some comments.
2012-09-28 16:41:39 -04:00
Benjamin Peterson
52c62d8697
rephrase
2012-09-26 00:25:10 -04:00
Benjamin Peterson
feaa54f537
don't depend on __debug__ because it's baked in at freeze time (issue #16046 )
2012-09-25 11:22:59 -04:00
Antoine Pitrou
4f0338cab7
Issue #15781 : Fix two small race conditions in import's module locking.
2012-08-28 00:24:52 +02:00
Brett Cannon
12c6bda4f0
Issue #15316 : Let exceptions raised during imports triggered by the
...
fromlist of __import__ propagate.
The problem previously was that if something listed in fromlist didn't
exist then that's okay. The fix for that was too broad in terms of
catching ImportError.
The trick with the solution to this issue is that the proper
refactoring of import thanks to importlib doesn't allow for a way to
distinguish (portably) between an ImportError because finders couldn't
find a loader, or a loader raised the exception. In Python 3.4 the
hope is to introduce a new exception (e.g. ModuleNotFound) to make it
clean to differentiate why ImportError was raised.
2012-08-24 18:25:59 -04:00
Brett Cannon
ba0a3edd26
Issue #2051 : Tweak last commit for this issue to pass in mode instead
...
of source path to set_data() and make the new argument private until
possible API changes can be discussed more thoroughly in Python 3.4.
2012-08-24 13:48:39 -04:00
Nick Coghlan
a508770e20
Close #2501 : Permission bits are once again correctly copied from the source file to the cached bytecode file. Test by Eric Snow.
2012-08-24 18:32:40 +10:00
Nick Coghlan
48fec05391
Close #14846 : Handle a sys.path entry going away
2012-08-20 13:18:15 +10:00
Brett Cannon
7385adc84c
Issue #15715 : Ignore failed imports triggered by the use of fromlist.
...
When the fromlist argument is specified for __import__() and the
attribute doesn't already exist, an import is attempted. If that fails
(e.g. module doesn't exist), the ImportError will now be silenced (for
backwards-compatibility). This *does not* affect
``from ... import ...`` statements.
Thanks to Eric Snow for the patch and Simon Feltman for reporting the
regression.
2012-08-17 13:21:16 -04:00
Brett Cannon
b428f47cf6
Don't overwrite a __path__ value from extension modules if already
...
set.
2012-08-11 19:43:29 -04:00
Philip Jenvey
688a551ca0
fix docstring wording
2012-08-10 16:21:35 -07:00
Brett Cannon
f410ce8c09
Issue #15502 : Refactor some code.
2012-08-10 17:41:23 -04:00
Philip Jenvey
731d48a65f
update docstring per the extension package fix, refactor
2012-08-10 11:53:54 -07:00
Brett Cannon
ac9f2f3de3
Issue #15576 : Allow extension modules to be a package's __init__
...
module again. Also took the opportunity to stop accidentally exporting
_imp.extension_suffixes() as public.
2012-08-10 13:47:54 -04:00
Brett Cannon
f4dc9204cc
Issue #15502 : Finish bringing importlib.abc in line with the current
...
state of the import system. Also make importlib.invalidate_caches()
work with sys.meta_path instead of sys.path_importer_cache to
completely separate the path-based import system from the overall
import system.
Patch by Eric Snow.
2012-08-10 12:21:12 -04:00
Brett Cannon
cb4996afe4
Issue #15471 : Don't use mutable object as default values for the
...
parameters of importlib.__import__().
2012-08-06 16:34:44 -04:00
Nick Coghlan
4941774f59
Issue #15502 : Bring the importlib.PathFinder docs and docstring more in line with the new import system documentation, and fix various parts of the new docs that weren't quite right given PEP 420 or were otherwise a bit misleading. Also note the key terminology problem still being discussed in the issue
2012-08-02 23:03:58 +10:00
Nick Coghlan
ff79486bb5
Close #15519 : Properly expose WindowsRegistryFinder in importlib and bring the name into line with normal import terminology. Original patch by Eric Snow
2012-08-02 21:45:24 +10:00
Nick Coghlan
8a9080feff
Issue #15502 : Bring the importlib ABCs into line with the current state of the import protocols given PEP 420. Original patch by Eric Snow.
2012-08-02 21:26:03 +10:00
Barry Warsaw
38f75cbc00
Typo.
2012-07-31 16:39:43 -04:00
Barry Warsaw
9a5af1288d
merge
2012-07-31 16:03:25 -04:00
Nick Coghlan
42c0766a53
Close #15486 : Simplify the mechanism used to remove importlib frames from tracebacks when they just introduce irrelevant noise
2012-07-31 21:14:18 +10:00
Barry Warsaw
dee609c09f
merged
2012-07-29 16:40:04 -04:00
Barry Warsaw
d7d2194ea1
Integration of importdocs from the features/pep-420 repo.
2012-07-29 16:36:17 -04:00
Nick Coghlan
5ee9892406
Close #15425 : Eliminate more importlib related traceback noise
2012-07-29 20:30:36 +10:00
Martin v. Löwis
e3010a8d12
Issue #14578 : Support modules registered in the Windows registry again.
...
Patch by Amaury Forgeot d'Arc.
2012-07-28 21:33:05 +02:00
Brett Cannon
45a5e3afe5
Issue #15168 : Move importlb.test to test.test_importlib.
...
This should make the Linux distros happy as it is now easier to leave
importlib's tests out of their base Python distribution.
2012-07-20 14:48:53 -04:00
Nick Coghlan
be7e49fd82
Close #15386 : There was a loophole that meant importlib.machinery and imp would sometimes reference an uninitialised copy of importlib._bootstrap
2012-07-20 23:40:09 +10:00
Nick Coghlan
76e077001d
Close #15387 : inspect.getmodulename() now uses a new importlib.machinery.all_suffixes() API rather than the deprecated inspect.getmoduleinfo()
2012-07-18 23:14:57 +10:00
Nick Coghlan
2824cb507d
Issue #15343 : A lot more than just unicode decoding can go wrong when retrieving a source file
2012-07-15 22:12:14 +10:00
Brett Cannon
a6473f9cfd
Issues #15169 , #14599 : Make PyImport_ExecCodeModuleWithPathnames() use
...
Lib/imp.py for imp.source_from_cache() instead of its own C version.
Also change PyImport_ExecCodeModuleObject() to not infer the source
path from the bytecode path like
PyImport_ExecCodeModuleWithPathnames() does. This makes the function
less magical.
This also has the side-effect of removing all uses of MAXPATHLEN in
Python/import.c which can cause failures on really long filenames.
2012-07-13 13:57:03 -04:00
Brett Cannon
461c813164
Issue #15111 : When a module was imported using a 'from import'
...
statement (e.g. ``from distutils import msvc9compiler``) that triggers
an ImportError of its own (e.g. the non-existence of winreg), let that
exception propagate instead of raising a generic ImportError for the
module being requested (e.g. msvc9compiler).
2012-07-10 10:05:00 -04:00
Brett Cannon
77b2abd094
Issue #15167 (as part of #13959 ): imp.get_magic() is no implemented in
...
Lib/imp.py.
2012-07-09 16:09:00 -04:00
Brett Cannon
19a2f5961c
Issue #15056 : imp.cache_from_source() and source_from_cache() raise
...
NotimplementedError when sys.implementation.cache_tag is None.
Thanks to Pranav Ravichandran for taking an initial stab at the patch.
2012-07-09 13:58:07 -04:00
Amaury Forgeot d'Arc
1ced17dfe9
Issue #15110 : Copy same docstring as other '_exec_module' methods.
2012-07-08 21:03:01 +02:00
Amaury Forgeot d'Arc
ae7b8f07c1
Issue #15110 : Also hide importlib frames when importing a builtin module fails.
2012-07-08 20:52:38 +02:00
Antoine Pitrou
bc07a5c913
Issue #15110 : Fix the tracebacks generated by "import xxx" to not show the importlib stack frames.
2012-07-08 12:01:27 +02:00
Florent Xicluna
79d79a0f29
Minor refactoring in importlib._bootstrap, and fix the '_wrap' docstring.
2012-07-07 13:16:44 +02:00
Brett Cannon
53089c6e91
Issue #15210 : Greatly simplify the test for supporting importlib
...
working without _frozen_importlib by moving to an import over a direct
access in sys.modules.
2012-07-04 14:03:40 -04:00
Brett Cannon
98979b85e7
Issue #15166 : Re-implement imp.get_tag() using sys.implementation.
...
Also eliminates some C code in Python/import.c as well.
Patch by Eric Snow with verification by comparing against another
patch from Jeff Knupp.
2012-07-02 15:13:11 -04:00
Brett Cannon
8e2f5564b3
Issue #15210 : If _frozen_importlib is not found in sys.modules by
...
importlib.__init__, then catch the KeyError raised, not ImportError.
2012-07-02 14:53:10 -04:00
Brett Cannon
1e331560ee
Closes #15030 : Make importlib.abc.PyPycLoader respect the new .pyc
...
file size header field.
Thanks to Marc Abramowitz and Ronan Lamy for helping out with various
parts of the patch.
2012-07-02 14:35:34 -04:00
Eric V. Smith
b10951549b
Use assertIsNone. Thanks Terry Reedy.
2012-06-28 06:15:01 -04:00
Eric V. Smith
faae3adbb9
Changed importlib tests to use assertIs, assertIsInstance, etc., instead of just assertTrue.
2012-06-27 15:26:26 -04:00
Eric V. Smith
e51a36922f
Fixes issue 15039: namespace packages are no longer imported in preference to modules of the same name.
2012-06-24 19:13:55 -04:00
Antoine Pitrou
310f95b04d
A better repr() for FileFinder
2012-06-23 02:12:56 +02:00
Antoine Pitrou
d5a1a21a89
Prevent test_inspect from keeping alive a ton of frames and local variables by way of a global variable keeping a reference to a traceback.
...
Should fix some buildbot failures.
2012-06-17 23:18:07 +02:00
Antoine Pitrou
48114b952b
Issue #14657 : The frozen instance of importlib used for bootstrap is now also the module imported as importlib._bootstrap.
2012-06-17 22:33:38 +02:00
Brett Cannon
ea0b823940
Issue #14938 : importlib.abc.SourceLoader.is_package() now takes the
...
module name into consideration when determining whether a module is a
package or not. This prevents importing a module's __init__ module
directly and having it considered a package, which can lead to
duplicate sub-modules.
Thanks to Ronan Lamy for reporting the bug.
2012-06-15 20:00:53 -04:00
Nick Coghlan
5c6eba3a93
Tweak importlib._bootstrap to avoid zero-argument super so I can work on issue #14857 without breaking imports
2012-05-27 17:49:58 +10:00
Brett Cannon
d785cb3955
Remove some redundant decorators.
2012-05-26 14:28:21 -04:00
Eric V. Smith
283d0ba45d
Whitespace cleanup.
2012-05-24 20:22:10 -04:00
Eric V. Smith
984b11f88f
issue 14660: Implement PEP 420, namespace packages.
2012-05-24 20:21:04 -04:00
Antoine Pitrou
ea3eb88bca
Issue #9260 : A finer-grained import lock.
...
Most of the import sequence now uses per-module locks rather than the
global import lock, eliminating well-known issues with threads and imports.
2012-05-17 18:55:59 +02:00
Brett Cannon
d200bf534b
Add importlib.util.resolve_name().
2012-05-13 13:45:09 -04:00
Brett Cannon
ee78a2b51c
Issue #13959 : Introduce importlib.find_loader().
...
The long-term goal is to deprecate imp.find_module() in favour of this
API, but it will take some time as some APIs explicitly return/use what
imp.find_module() returns.
2012-05-12 17:43:17 -04:00
Brett Cannon
c049952de7
Issue #13959 : Have
...
importlib.abc.FileLoader.load_module()/get_filename() and
importlib.machinery.ExtensionFileLoader.load_module() have their
single argument be optional as the loader's constructor has all the
ncessary information.
This allows for the deprecation of
imp.load_source()/load_compile()/load_package().
2012-05-11 14:48:41 -04:00
Brett Cannon
cb66eb0dec
Issue #13959 : Deprecate imp.get_suffixes() for new attributes on
...
importlib.machinery that provide the suffix details for import.
The attributes were not put on imp so as to compartmentalize
everything importlib needs for setting up imports in
importlib.machinery.
This also led to an indirect deprecation of inspect.getmoduleinfo() as
it directly returned imp.get_suffix's returned tuple which no longer
makes sense.
2012-05-11 12:58:42 -04:00
Brett Cannon
810c64df8f
Issue #14764 : Update importlib.test.benchmark to work in a world where
...
import machinery is no longer implicit.
2012-05-11 11:12:00 -04:00
Antoine Pitrou
6efa50a384
Issue #14583 : Fix importlib bug when a package's __init__.py would first import one of its modules then raise an error.
2012-05-07 21:41:59 +02:00
Brett Cannon
feccc09952
Clean up a docstring.
2012-05-04 16:47:54 -04:00
Brett Cannon
f19c191067
Jython-friendly tweak.
2012-05-04 15:46:04 -04:00
Brett Cannon
2657df4744
Issue #13959 : Re-implement imp.get_suffixes() in Lib/imp.py.
...
This introduces a new function, imp.extension_suffixes(), which is
currently undocumented. That is forthcoming once issue #14657 is
resolved and how to expose file suffixes is decided.
2012-05-04 15:20:40 -04:00
Brett Cannon
17098a5447
Properly mark names in importlib._bootstrap as private.
2012-05-04 13:52:49 -04:00
Brett Cannon
efad00d520
Issue #14646 : __import__() now sets __loader__ if need be.
...
importlib.util.module_for_loader also will set __loader__ along with
__package__. This is in conjunction to a forthcoming update to PEP 302
which will make these two attributes required for loaders to set.
2012-04-27 17:27:14 -04:00
Brett Cannon
aa93642a35
Issue #14605 : Use None in sys.path_importer_cache to represent no
...
finder instead of using some (now non-existent) implicit finder.
2012-04-27 15:30:58 -04:00
Brett Cannon
ce418b448f
Issue #14605 : Stop having implicit entries for sys.meta_path.
...
ImportWarning is raised if sys.meta_path is found to be empty.
2012-04-27 14:01:58 -04:00
Brett Cannon
e0d88a173c
Issue #14605 : Make explicit the entries on sys.path_hooks that used to
...
be implicit.
Added a warning for when sys.path_hooks is found to be empty. Also
changed the meaning of None in sys.path_importer_cache to represent
trying sys.path_hooks again (an interpretation of previous semantics).
Also added a warning for when None was found.
The long-term goal is for None in sys.path_importer_cache to represent
the same as imp.NullImporter: no finder found for that sys.path entry.
2012-04-25 20:54:04 -04:00
Marc-Andre Lemburg
7541c8ea37
Issue #14605 and #14642 :
...
Issue a warning in case Python\importlib.h needs to be rebuilt,
but there's no Python interpreter around to freeze the bootstrap
script.
2012-04-25 10:54:48 +02:00
Marc-Andre Lemburg
4fe29c9657
Issue #14605 : Rename _SourcelessFileLoader to SourcelessFileLoader.
...
This time also recreating the Python/importlib.h file to make
make happy. See the ticket for details.
2012-04-25 02:31:37 +02:00
Marc-Andre Lemburg
ac8805a01a
Issue #14605 : Revert renaming of _SourcelessFileLoader, since it caused
...
the buildbots to fail.
2012-04-25 02:11:07 +02:00
Marc-Andre Lemburg
2945e78b05
Issue #14605 : Rename _SourcelessFileLoader to SourcelessFileLoader
2012-04-25 01:36:48 +02:00
Brett Cannon
938d44d59c
Issue #14605 : Expose importlib.abc.FileLoader and
...
importlib.machinery.(FileFinder, SourceFileLoader,
_SourcelessFileLoader, ExtensionFileLoader).
This exposes all of importlib's mechanisms that will become public on
the sys module.
2012-04-22 19:58:33 -04:00
Brett Cannon
5c903e6ee1
Issue #13959 : Continue to try to accomodate altsep in importlib by not
...
ignoring altsep if it already exists on a path when doing a join.
2012-04-22 11:45:07 -04:00
Brett Cannon
cf649958f7
Revert to os.path.join() semantics for path manipulation in importlib
...
which is different than what imp.cache_from_source() operates on.
2012-04-22 02:06:23 -04:00
Brett Cannon
a846236855
Continue the good fight to get Windows to like importlib by fixing a
...
variable name.
2012-04-21 21:46:32 -04:00
Brett Cannon
0d05a7698b
Have importlib look for pre-existing path separators when joining
...
paths.
2012-04-21 21:21:27 -04:00
Brett Cannon
2f92389d5c
Don't worry about moving imp.get_tag() over to Lib/imp.py.
2012-04-21 18:55:51 -04:00
Brett Cannon
a64faf0771
Issue #13959 : Re-implement imp.source_from_cache() in Lib/imp.py.
2012-04-21 18:52:52 -04:00
Brett Cannon
ea59dbff16
Issue #13959 : Re-implement imp.cache_from_source() in Lib/imp.py.
2012-04-20 21:44:46 -04:00
Brett Cannon
ed672d6872
Make path manipulation more robust for platforms with alternative path
...
separators.
2012-04-20 21:19:53 -04:00
Brett Cannon
24117a748b
Issue #13959 : Keep imp.get_magic() in C code, but cache in importlib
...
for performance. While get_magic() could move to Lib/imp.py, having to
support PyImport_GetMagicNumber() would lead to equal, if not more, C
code than sticking with the status quo.
2012-04-20 18:04:03 -04:00
Brett Cannon
1032af95ff
Issue #14585 : test_import now runs all tests under
...
importlib.test.import_ using builtins.__import__() instead of just the
relative import tests.
2012-04-20 15:52:17 -04:00
Brett Cannon
8ff6baf25b
Issue #14581 : Windows users are allowed to import modules w/o taking
...
the file suffix's case into account, even when doing a case-sensitive
import.
2012-04-20 12:53:14 -04:00
Brett Cannon
91900eaf96
Have importlib.test.regrtest clear sys.path_importer_cache to make
...
sure finders from importlib are used instead of _frozen_importlib.
2012-04-20 12:51:44 -04:00
Benjamin Peterson
2a481e58ff
don't bother keeping a set we'll never use
2012-04-18 15:25:50 -04:00
Benjamin Peterson
d76bc7abac
rollback 005fd1fe31ab (see #14609 and #14582 )
...
Being able to overload a sys.module entry during import of a module was broken
by this changeset.
2012-04-18 10:55:43 -04:00
Brett Cannon
7bd329d800
Issue #12599 : Be more strict in accepting None vs. a false-like object
...
in importlib.
Thanks to PJE for pointing out the issue and Nick Coghlan for filing
the bug.
2012-04-17 21:41:35 -04:00
Brett Cannon
273323cf68
Issue #14592 : A relative import will raise a KeyError if __package__
...
or __name__ are not set in globals.
Thanks to Stefan Behnel for the bug report.
2012-04-17 19:05:11 -04:00
Brett Cannon
6f44d66bc4
Issue #13959 : Rename imp to _imp and add Lib/imp.py and begin
...
rewriting functionality in pure Python.
To start, imp.new_module() has been rewritten in pure Python, put into
importlib (privately) and then publicly exposed in imp.
2012-04-15 16:08:47 -04:00
Brett Cannon
7788838473
merge
2012-04-15 15:25:10 -04:00
Brett Cannon
881535b726
Issue #14582 : Import returns the module returned by a loader instead
...
of sys.modules when possible.
This is being done for two reasons. One is to gain a little bit of
performance by skipping an unnecessary dict lookup in sys.modules. But
the other (and main) reason is to be a little bit more clear in how
things should work from the perspective of import's interactions with
loaders. Otherwise loaders can easily forget to return the module even
though PEP 302 explicitly states they are expected to return the module
they loaded.
2012-04-15 15:24:04 -04:00
Philip Jenvey
f8f3190d32
utilize startswith(tuple)
2012-04-15 12:21:32 -07:00
Brett Cannon
49f8d8b016
Handle importing pkg.mod by executing
...
__import__('mod', {'__packaging__': 'pkg', level=1) w/o properly (and
thus not segfaulting).
2012-04-14 21:50:00 -04:00
Brett Cannon
44590e4786
Add some comments.
2012-04-14 18:37:07 -04:00
Brett Cannon
fd0741555b
Issue #2377 : Make importlib the implementation of __import__().
...
importlib._bootstrap is now frozen into Python/importlib.h and stored
as _frozen_importlib in sys.modules. Py_Initialize() loads the frozen
code along with sys and imp and then uses _frozen_importlib._install()
to set builtins.__import__() w/ _frozen_importlib.__import__().
2012-04-14 14:10:13 -04:00
Brett Cannon
bbb6680ee5
Have importlib take advantage of ImportError's new 'name' and 'path'
...
attributes.
2012-04-12 21:09:01 -04:00
Brett Cannon
d62cd5627f
Issue #14500 : Fix importlib.test.import_.test_packages to clean up
...
after itself properly.
2012-04-06 13:13:08 -04:00
Brett Cannon
927d87470a
If a module injects something into sys.modules as a side-effect of
...
importation, then respect that injection.
Discovered thanks to Lib/xml/parsers/expat.py injecting
xml.parsers.expat.errors and etree now importing that directly as a
module.
2012-04-02 20:33:56 -04:00
Brett Cannon
0d4d410b2d
Remove a dead docstring.
2012-03-02 12:32:14 -05:00
Brett Cannon
b46a1793a7
Update importlib.invalidate_caches() to be more general.
2012-02-27 18:15:42 -05:00
Philip Jenvey
4b42ff609d
unused imports, pep8
2012-02-24 21:48:17 -08:00
Brett Cannon
625cd23da4
Simplify importib._resolve_name().
2012-02-24 11:20:54 -05:00
Brett Cannon
4b03b68635
Turn _return_module() into _handle_fromlist().
2012-02-23 20:47:57 -05:00
Brett Cannon
dfc32706a0
Make the benchmark recording more sensible for importlib.test.benchmark.
2012-02-23 19:34:35 -05:00
Brett Cannon
f500778f65
Improper type for __package__ should raise TypeError, not ValueError.
2012-02-23 18:29:12 -05:00
Brett Cannon
068915cc8b
Do a type check instead of an interface check.
2012-02-23 18:18:48 -05:00
Brett Cannon
34d8e41a47
Refactor importlib to make it easier to re-implement in C.
2012-02-22 18:33:05 -05:00
Charles-François Natali
6db1c40b37
Issue #14077 : importlib: Fix regression introduced by de6703671386.
2012-02-22 21:03:09 +01:00
Antoine Pitrou
b5c793a0b3
Issue #14063 : fix test_importlib failure under OS X case-insensitive filesystems
...
(regression)
2012-02-20 22:06:59 +01:00
Benjamin Peterson
6ddac006be
put docstrings on functions
2012-02-20 15:06:35 -05:00
Antoine Pitrou
b67075beb5
_relax_case -> _make_relax_case
2012-02-20 13:52:47 +01:00
Antoine Pitrou
c541f8ef40
Issue #14043 : Speed up importlib's _FileFinder by at least 8x, and add a new importlib.invalidate_caches() function.
...
importlib is now often faster than imp.find_module() at finding modules.
2012-02-20 01:48:16 +01:00
Brett Cannon
336b2f45e5
Fix a failing importlib test under Windows.
...
Closes issue #14054 .
2012-02-19 19:36:44 -05:00
Brett Cannon
082f177c67
Fix importlib.test.__main__ to only worry about command-line flags when directly executed.
2012-02-17 10:44:24 -05:00
Brett Cannon
f2e86751cc
Optimize importlib's case-sensitivity check by wasting as little time as possible under case-sensitive OSs.
2012-02-17 09:46:48 -05:00
Brett Cannon
1f14bebe3c
Have importlib.test use argparse instead of some hacked up solution.
2012-02-17 09:37:39 -05:00
Brett Cannon
ba17fe256e
Have importlib use os.replace() for atomic renaming.
...
Closes issue #13961 . Thanks to Charles-François Natali for the patch.
2012-02-17 09:26:53 -05:00
Brett Cannon
f58d45c649
Tweak the handling of the empty string in sys.path for importlib.
...
It seems better to cache the finder for the cwd under its full path
insetad of '' in case the cwd changes. Otherwise FileFinder needs to
dynamically change itself based on whether it is given '' instead of
caching a finder for every change to the cwd.
2012-02-16 18:12:00 -05:00
Brett Cannon
3b1a06c1ea
importlib.__import__() now raises ValueError when level < 0.
...
This is to bring it more in line with what PEP 328 set out to do with
removing ambiguous absolute/relative import semantics.
2012-02-16 17:47:48 -05:00
Brett Cannon
7fab676e87
Refactor importlib.__import__() and _gcd_import() to facilitate using
...
an __import__ implementation that takes care of basics in C and punts
to importlib for more complicated code.
2012-02-16 13:43:41 -05:00
Brett Cannon
0568d6fd4e
Bring importlib in line w/ changes made in my personal bootstrap branch in the sandbox.
2012-02-14 18:38:11 -05:00
Philip Jenvey
353c10772a
simplify
2012-02-10 11:45:03 -08:00
Brett Cannon
4a2e1a0da7
Undo a bad mq management thingy.
2012-02-08 19:11:53 -05:00
Brett Cannon
97771096ab
Whitespace normalization.
2012-02-08 18:55:37 -05:00
Brett Cannon
b4e63b3177
Use the cwd when the empty string is found in sys.path. This leads to
...
__file__ being an absolute path when the module is found in the
current directory.
2012-02-08 18:52:56 -05:00
Brett Cannon
354c26ecd6
Move setup code from importlib.__init__ to
...
importlib._bootstrap._setup().
2012-02-08 18:50:22 -05:00
Brett Cannon
8490fab4ad
Don't fail in the face of a lacking attribute when wrapping a
...
function.
2012-02-08 18:44:14 -05:00
Brett Cannon
cae1068e82
Re-order importlib benchmarks to be consistent. Also print out what implementation of __import__ is used.
2012-02-07 09:40:33 -05:00
Brett Cannon
466e6a90f2
Have importlib.test.benchmark test with tabnanny as a medium-sized test.
2012-02-07 09:19:12 -05:00
Brett Cannon
5ea5b67a0b
Fix a minor output typo as found by Terry Reedy.
2012-01-31 17:02:10 -05:00
Brett Cannon
e3a9ae5ece
Let importlib.test.benchmark take a specific benchmark name to run.
2012-01-30 19:27:51 -05:00
Brett Cannon
190f33cd2b
Allow for the specification of a file to dump importlib benchmark
...
results to (and to compare against previous runs).
* * *
Move importlib.test.benchmark to argparse.
2012-01-30 19:12:29 -05:00
Brett Cannon
8a8945085f
Issue #13890 : Also fix for extension module tests for case-insensitivity.
2012-01-30 12:51:49 -05:00
Brett Cannon
01ad3251ae
Issue #13890 : Fix importlib case-sensitivity tests to not run on Windows.
...
Thanks to os.environ under Windows only updating the dict and not the
environment itself (as exposed by nt.environ), tests using
PYTHONCASEOK always fail. Now the tests are skipped when os.environ
does not do what is expected.
2012-01-30 12:48:16 -05:00
Brett Cannon
51d14f8e56
Relocate importlib._case_ok to importlib._bootstrap.
...
This required updating the code to use posix instead of os. This is
all being done to make bootstrapping easier to removing dependencies
that are kept in importlib.__init__ and thus outside of the single
file to bootstrap from.
2012-01-26 19:03:52 -05:00
Brett Cannon
c264e3ee20
Move some code from importlib.__init__ to importlib._bootstrap that
...
does not need to be exposed from C code for bootstrapping reasons.
2012-01-25 18:58:03 -05:00
Antoine Pitrou
581616624d
Port import fixes from 2.7.
2012-01-25 18:06:07 +01:00
Antoine Pitrou
33d15f7c85
Port import fixes from 2.7.
2012-01-25 18:01:45 +01:00
Antoine Pitrou
157c1263a2
Port remaining test fixes, and fix test_importlib too.
2012-01-25 03:01:34 +01:00
Antoine Pitrou
dd21f68963
Port remaining test fixes, and fix test_importlib too.
2012-01-25 03:00:57 +01:00
Antoine Pitrou
abaf89b2be
Issue #11235 : Fix OverflowError when trying to import a source file whose modification time doesn't fit in a 32-bit timestamp.
2012-01-24 17:45:50 +01:00
Antoine Pitrou
2be60afb7e
Issue #11235 : Fix OverflowError when trying to import a source file whose modification time doesn't fit in a 32-bit timestamp.
2012-01-24 17:44:06 +01:00
Brett Cannon
f522aea7a1
Issue #13588 : Rename decorators in importlib.
...
More descriptive names are now used in order to make tracebacks
more readable.
2012-01-16 11:46:22 -05:00
Benjamin Peterson
6f5b6d7e8f
kill useless import added by 87331661042b
2012-01-15 22:43:10 -05:00
Antoine Pitrou
7c9907e565
Fix no-op tests in importlib.
2011-12-30 21:25:15 +01:00
Antoine Pitrou
5136ac0ca2
Issue #13645 : pyc files now contain the size of the corresponding source
...
code, to avoid timestamp collisions (especially on filesystems with a low
timestamp resolution) when checking for freshness of the bytecode.
2012-01-13 18:52:16 +01:00
Antoine Pitrou
5e8767c764
Fix no-op tests in importlib.
2011-12-30 21:26:08 +01:00
Meador Inge
96ff0840b6
Issue #13593 : updating the importlib utility decorators for __qualname__.
2011-12-14 22:53:13 -06:00
Meador Inge
d7afeeeb8d
Issue #13591 : import_module potentially imports a module twice.
2011-12-14 22:27:28 -06:00
Meador Inge
416f12ddb3
Issue #13591 : import_module potentially imports a module twice.
2011-12-14 22:23:46 -06:00
Florent Xicluna
67317750af
Issue #13248 : turn 3.2's PendingDeprecationWarning into 3.3's DeprecationWarning (cgi, importlib, nntplib, smtpd).
2011-12-10 11:07:42 +01:00
Antoine Pitrou
28e401e717
Issue #13392 : Writing a pyc file should now be atomic under Windows as well.
2011-11-15 19:15:19 +01:00
Charles-François Natali
0c929d9d39
Issue #13303 : Fix bytecode file default permission.
2011-11-10 19:12:29 +01:00
Charles-François Natali
e695eec24a
Issue #13303 : Fix a race condition in the bytecode file creation.
2011-10-31 20:47:31 +01:00
Florent Xicluna
68f71a34f4
Simplify and remove few dependencies on 'errno', thanks to PEP 3151.
2011-10-28 16:06:23 +02:00
Antoine Pitrou
daaaec9ee7
Silence the FileExistsError which can be raised because of the O_EXCL flag
...
(as in import.c)
2011-10-19 23:28:40 +02:00
Antoine Pitrou
707033a694
Issue #13146 : Writing a pyc file is now atomic under POSIX.
2011-10-17 19:28:44 +02:00
Vinay Sajip
65897a386e
Closes #12291 for 3.3 - merged fix from 3.2.
2011-07-02 17:16:02 +01:00
Vinay Sajip
5bdae3bb7c
Closes #12291 : Fixed bug which was found when doing multiple loads from one stream.
2011-07-02 16:42:47 +01:00
Éric Araujo
ef3062f7af
Kill dead code in importlib.test.__main__ ( #12019 , reviewed by Brett Cannon)
2011-06-07 17:58:50 +02:00
Victor Stinner
82f46144cc
(Merge 3.2) Issue #11614 : Fix importlib tests for the new __hello__ module
2011-05-16 17:00:41 +02:00
Victor Stinner
45323a890a
(Merge 3.1) Issue #11614 : Fix importlib tests for the new __hello__ module
2011-05-16 16:59:49 +02:00
Victor Stinner
272e24356e
Issue #11614 : Fix importlib tests for the new __hello__ module
2011-05-16 16:57:18 +02:00
Brett Cannon
5d43cff623
Remove a stale comment.
2011-03-23 18:12:24 -07:00
Brett Cannon
442c9b92d8
Make importlib compatible with __import__ by "fixing" code.co_filename
...
paths.
__import__ does a little trick when importing from bytecode by
back-patching the co_filename paths to point to the file location
where the code object was loaded from, *not* where the code object was
originally created. This allows co_filename to point to a valid path.
Problem is that co_filename is immutable from Python, so a private
function -- imp._fix_co_filename() -- had to be introduced in order to
get things working properly. Originally the plan was to add a file
argument to marshal.loads(), but that failed as the algorithm used by
__import__ is not fully recursive as one might expect, so to be fully
backwards-compatible the code used by __import__ needed to be exposed.
This closes issue #6811 by taking a different approach than outlined
in the issue.
2011-03-23 16:14:42 -07:00
Brett Cannon
a7468bc5c6
Have importlib use the repr of a module name in error messages.
...
This makes it obvious that an import failed because of some extraneous
whitespace (e.g., a newline).
This is a partial fix for issue #8754 .
2011-03-23 16:06:00 -07:00
Ezio Melotti
4969f709cc
#11515 : Merge with 3.1.
2011-03-15 05:59:46 +02:00
Ezio Melotti
42da663e6f
#11515 : fix several typos. Patch by Piotr Kasprzyk.
2011-03-15 05:18:48 +02:00
Ezio Melotti
373089239b
#11515 : Merge with 3.2.
2011-03-15 06:03:08 +02:00
Eric V. Smith
91f0359ee4
Skip test if zlib not present. Closes #11498 . Patch by Natalia B. Bidart.
2011-03-14 11:57:16 -04:00
Eric V. Smith
4169826a00
Typos.
2011-03-14 10:56:33 -04:00
Raymond Hettinger
d958ea70bc
Issue 10899: Remove function type annotations from the stdlib
2011-01-13 19:08:04 +00:00
Raymond Hettinger
cd92f37582
Issue 10899: Remove function type annotations from the stdlib
2011-01-13 02:31:25 +00:00
Ezio Melotti
19f2aeba67
Merged revisions 86596 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r86596 | ezio.melotti | 2010-11-20 21:04:17 +0200 (Sat, 20 Nov 2010) | 1 line
#9424 : Replace deprecated assert* methods in the Python test suite.
........
2010-11-21 01:30:29 +00:00
Ezio Melotti
b3aedd4862
#9424 : Replace deprecated assert* methods in the Python test suite.
2010-11-20 19:04:17 +00:00
Brett Cannon
0ffe6a9760
Fix a minor inconsistency in capitalization for the 'No module named' exception
...
message in importlib.
Thanks to Éric Araujo for spotting the inconsistency.
2010-11-18 03:03:04 +00:00
Florent Xicluna
764d612f5e
Remove redundant context manager.
2010-09-03 19:55:26 +00:00
Brett Cannon
a7ceeb335f
OSError is the exception raised when one tries to create a directory that
...
already exists, not IOError.
Part of the continuing saga of issue #9572 .
2010-08-26 21:07:13 +00:00
Brett Cannon
1d6569cfb9
Fix a bug where an attribute was lacking an object to work off of.
...
Related to the fix for issue #9572 . Thanks to Łukasz Czuja for catching the
bug.
2010-08-24 21:04:05 +00:00