On Sun, 24 Mar 2013 18:12:49 -0500, Fabian von Romberg wrote: > Hi, > > I have a package name collections and inside of my package I want to > import the collections package from the standard library, but there is > name conflicts. > > How do I import explicitly from the standard library?
You can't. However, you can import explicitly from your package, or implicitly by using a relative import. Starting from Python 2.7, the "import" statement is always absolute. So the line: import collections will always find the first *top level* module or package "collections" in the python search path. See below for an important proviso. Inside your package, you can either use an explicit import like this: import mypackage.collections as collections or use a relative import like this: from . import collections Here is a concrete example. I create a package containing five files: mypackage/ +-- __init__.py +-- collections.py +-- absolute_import.py +-- explicit_import.py +-- relative_import.py with the following content: # absolute_import.py import collections # explicit_import.py import mypackage.collections as collections # relative_import.py from . import collections The other two files (collections.py and __init__.py) can be blank. Now, from *outside* the package, I can do this: py> import mypackage.absolute_import py> import mypackage.explicit_import py> import mypackage.relative_import py> py> mypackage.absolute_import.collections <module 'collections' from '/usr/local/lib/python3.3/collections/__init__.py'> py> mypackage.explicit_import.collections <module 'mypackage.collections' from './mypackage/collections.py'> py> mypackage.relative_import.collections <module 'mypackage.collections' from './mypackage/collections.py'> Of course "from mypackage import absolute_import" etc. will also work. However, beware: if you cd into the package directory, and then launch Python, the current directory will contain a file "collections.py" which will shadow the standard library collections.py. So don't do that. -- Steven -- http://mail.python.org/mailman/listinfo/python-list