Skip to content

Instantly share code, notes, and snippets.

@alex
Created February 1, 2014 22:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alex/c57acc3d53ed95514ccc to your computer and use it in GitHub Desktop.
Save alex/c57acc3d53ed95514ccc to your computer and use it in GitHub Desktop.
Build a PEX:
mba=science=; ./pants build -i PyPy src/python/twitter/aurora/simulator/bin:simulator
Build operating on targets: OrderedSet([PythonBinary(src/python/twitter/aurora/simulator/bin/BUILD:
Building PythonBinary PythonBinary(src/python/twitter/aurora/simulator/bin/BUILD:simulator):
Wrote /Users/wickman/clients/science/dist/simulator.pex
Attempt to run the PEX:
mba=science=; dist/simulator.pex
Traceback (most recent call last):
File "app_main.py", line 72, in run_toplevel
File "/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "dist/simulator.pex/__main__.py", line 24, in <module>
bootstrap_pex(__entry_point__)
File "/Users/wickman/clients/science/dist/simulator.pex/.bootstrap/_twitter_common_python/pex_boo
pex.PEX(entry_point).execute()
File "/Users/wickman/clients/science/dist/simulator.pex/.bootstrap/_twitter_common_python/pex.py"
self.execute_entry(entry_point, args)
File "/Users/wickman/clients/science/dist/simulator.pex/.bootstrap/_twitter_common_python/pex.py"
runner(entry_point)
File "/Users/wickman/clients/science/dist/simulator.pex/.bootstrap/_twitter_common_python/pex.py"
runpy.run_module(module_name, run_name='__main__')
File "/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/runpy.py", line 170, in run_module
mod_name, loader, code, fname = _get_module_details(mod_name)
File "/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/runpy.py", line 101, in _get_module_details
loader = get_loader(mod_name)
File "/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/pkgutil.py", line 465, in get_loader
return find_loader(fullname)
File "/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/pkgutil.py", line 475, in find_loader
for importer in iter_importers(fullname):
File "/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/pkgutil.py", line 431, in iter_importers
__import__(pkg)
ImportError: No module named twitter.aurora
Unpack the PEX and run directly:
mba=science=; unzip -q -d dist/simulator dist/simulator.pex
mba=science=; pypy dist/simulator
Usage: dist/simulator cluster_name
simulator: error: Must specify both --snapshot and --state if not loading from cluster.
Contents of __init__.py's
mba=science=; unzip -p dist/simulator.pex twitter/__init__.py
__import__('pkg_resources').declare_namespace(__name__)
mba=science=; unzip -p dist/simulator.pex twitter/aurora/__init__.py
__import__('pkg_resources').declare_namespace(__name__)
Contents of sys.path
twitter.common.python.pex: * /Users/wickman/clients/science/dist/simulator.pex/.bootstrap
twitter.common.python.pex: /Users/wickman/clients/science/dist/simulator.pex
twitter.common.python.pex: /Users/wickman/clients/science/dist
twitter.common.python.pex: * /Users/wickman/Python/PyPy-2.2.1/lib_pypy/__extensions__
twitter.common.python.pex: /Users/wickman/Python/PyPy-2.2.1/lib_pypy
twitter.common.python.pex: /Users/wickman/Python/PyPy-2.2.1/lib-python/2.7
twitter.common.python.pex: /Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/lib-tk
twitter.common.python.pex: /Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/plat-darwin
twitter.common.python.pex: /Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/plat-mac
twitter.common.python.pex: /Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/plat-mac/lib-scriptpackages
twitter.common.python.pex: /Users/wickman/.pex/install/thrift-0.9.1-py2.7-macosx-10.4-x86_64.egg.8a27ae138438592e590a9ec590fc0f5fdc9fbf29/thrift-0.9.1-py2.7-macosx-10.4-x86_64.egg
twitter.common.python.pex: * dist/simulator.pex/.deps/src.thrift.com.twitter.aurora.internal.gen.py_thrift_c608e75c-0.0.0-py2.7.egg
twitter.common.python.pex: * dist/simulator.pex/.deps/paramiko-1.10.1-py2.7.egg
twitter.common.python.pex: * dist/simulator.pex/.deps/apache.aurora.common-0.5.0_DEV1391136488-py2.7.egg
twitter.common.python.pex: * dist/simulator.pex/.deps/pystachio-0.7.2-py2.7.egg
twitter.common.python.pex: /Users/wickman/.pex/install/Fabric-1.7.0-py2.7.egg.23ac3cd119c8c1fc1ae61629f4903f08ac87aae1/Fabric-1.7.0-py2.7.egg
twitter.common.python.pex: * dist/simulator.pex/.deps/audubondata-0.11.0-py2.7.egg
twitter.common.python.pex: * dist/simulator.pex/.deps/apache.aurora.config-0.5.0_DEV1391136488-py2.7.egg
twitter.common.python.pex: * dist/simulator.pex/.deps/apache.gen.aurora-0.5.0_DEV1391136488-py2.7.egg
twitter.common.python.pex: /Users/wickman/.pex/install/pycrypto-2.6.1-py2.7-macosx-10.4-x86_64.egg.3e296410f8ea97f22ff41546afb7ad043e965e67/pycrypto-2.6.1-py2.7-macosx-10.4-x86_64.egg
twitter.common.python.pex: * dist/simulator.pex/.deps/twitter.common.collections-0.1.0-py2.7.egg
twitter.common.python.pex: * dist/simulator.pex/.deps/twitter.common.lang-0.1.0-py2.7.egg
twitter.common.python.pex: * dist/simulator.pex/.deps/twitter.common.log-0.1.0-py2.7.egg
twitter.common.python.pex: /Users/wickman/.pex/install/simplejson-3.3.0-py2.7.egg.9fa4387ba86e2c44cd549ebf263c4f5823652322/simplejson-3.3.0-py2.7.egg
twitter.common.python.pex: /Users/wickman/.pex/install/requests-2.0.0-py2.7.egg.25db80aac9b1e2169cf6267eebbac59f7fe0b191/requests-2.0.0-py2.7.egg
twitter.common.python.pex: * dist/simulator.pex/.deps/pyparsing-1.5.7-py2.7.egg
twitter.common.python.pex: * dist/simulator.pex/.deps/apache.thermos.config-0.5.0_DEV1391136488-py2.7.egg
twitter.common.python.pex: * dist/simulator.pex/.deps/twitter.common.dirutil-0.1.0-py2.7.egg
twitter.common.python.pex: * dist/simulator.pex/.deps/twitter.common.options-0.1.0-py2.7.egg
twitter.common.python.pex: * dist/simulator.pex/.deps/apache.thermos.common-0.5.0_DEV1391136488-py2.7.egg
twitter.common.python.pex: * dist/simulator.pex/.deps/twitter.common.recordio-0.1.2-py2.7.egg
twitter.common.python.pex: * dist/simulator.pex/.deps/apache.gen.thermos-0.5.0_DEV1391136488-py2.7.egg
twitter.common.python.pex: * - paths that do not exist or will be imported via zipimport
Thoughts
If I drop into an interpreter and attempt to issue runpy.run_module on the entry point:
mba=science=; PEX_INTERPRETER=1 dist/simulator.pex
Python 2.7.3 (87aa9de10f9c, Nov 24 2013, 20:57:21)
[PyPy 2.2.1 with GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> import runpy
>>> runpy.run_module('twitter.aurora.simulator.bin.simulator', run_name='__main__')
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/runpy.py", line 170, in run_module
mod_name, loader, code, fname = _get_module_details(mod_name)
File "/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/runpy.py", line 101, in _get_module_details
loader = get_loader(mod_name)
File "/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/pkgutil.py", line 465, in get_loader
return find_loader(fullname)
File "/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/pkgutil.py", line 475, in find_loader
for importer in iter_importers(fullname):
File "/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/pkgutil.py", line 431, in iter_importers
__import__(pkg)
ImportError: No module named twitter.aurora
The same thing happens. For some reason it can't find the 'twitter.aurora' loader:
>>> import runpy
>>> runpy.get_loader('twitter')
<zipimporter object at 0x0000000108bf23b8>
>>> runpy.get_loader('twitter.aurora')
>>>
There's definitely importers for 'twitter':
>>> list(pkgutil.iter_importers('twitter'))
[<zipimporter object at 0x00000001038b8188>, <zipimporter object at 0x00000001038b8fc0>, <pkgutil.ImpImporter instance at 0x0000000109324200>, <imp.NullImporter object at 0x0000000102ca00e0>, <pkgutil.ImpImporter instance at 0x0000000109324220>, <pkgutil.ImpImporter instance at 0x0000000109324240>, <pkgutil.ImpImporter instance at 0x0000000109324260>, <pkgutil.ImpImporter instance at 0x0000000109324280>, <pkgutil.ImpImporter instance at 0x00000001093242a0>, <pkgutil.ImpImporter instance at 0x00000001093242c0>, <pkgutil.ImpImporter instance at 0x00000001093242e0>, <zipimporter object at 0x00000001075416c8>, <zipimporter object at 0x0000000107541ba0>, <zipimporter object at 0x0000000107541c68>, <zipimporter object at 0x0000000106ecbe48>, <pkgutil.ImpImporter instance at 0x0000000109324300>, <zipimporter object at 0x000000010806a048>, <zipimporter object at 0x000000010806a110>, <zipimporter object at 0x000000010806a408>, <pkgutil.ImpImporter instance at 0x0000000109324320>, <zipimporter object at 0x000000010806b0b0>, <zipimporter object at 0x000000010806b3f8>, <zipimporter object at 0x000000010859e5e8>, <pkgutil.ImpImporter instance at 0x0000000109324340>, <pkgutil.ImpImporter instance at 0x0000000109324360>, <zipimporter object at 0x00000001086e1128>, <zipimporter object at 0x00000001086e11f0>, <zipimporter object at 0x00000001086e1538>, <zipimporter object at 0x00000001086e1dd0>, <zipimporter object at 0x0000000108bf20e8>, <zipimporter object at 0x0000000108bf23b8>, <zipimporter object at 0x0000000108bf3ec0>, <pkgutil.ImpImporter instance at 0x0000000109324380>]
and definitely an importer for 'twitter.aurora':
>>> list(pkgutil.iter_importers('twitter.aurora'))
[<zipimporter object at 0x0000000108bf3df8>]
But it's incorrect:
>>> list(pkgutil.iter_importers('twitter.aurora'))[0].prefix
'.deps/twitter.common.recordio-0.1.2-py2.7.egg/twitter/'
When running as an exploded directory:
mba=science=; PEX_INTERPRETER=1 pypy dist/simulator
Python 2.7.3 (87aa9de10f9c, Nov 24 2013, 20:57:21)
[PyPy 2.2.1 with GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> import pkgutil
>>> list(pkgutil.iter_importers('twitter.aurora'))
[<pkgutil.ImpImporter instance at 0x0000000104340f20>, <pkgutil.ImpImporter instance at 0x0000000104340f40>, <pkgutil.ImpImporter instance at 0x0000000104340f60>, <pkgutil.ImpImporter instance at 0x0000000104340f80>, <pkgutil.ImpImporter instance at 0x0000000104340fa0>, <pkgutil.ImpImporter instance at 0x0000000104340fc0>, <pkgutil.ImpImporter instance at 0x0000000104340fe0>]
and the one we need is there:
>>> for importer in pkgutil.iter_importers('twitter.aurora'):
... print(importer.path)
...
/Users/wickman/clients/science/dist/simulator/twitter
/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.collections-0.1.0-py2.7.egg/twitter
/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.lang-0.1.0-py2.7.egg/twitter
/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.log-0.1.0-py2.7.egg/twitter
/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.dirutil-0.1.0-py2.7.egg/twitter
/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.options-0.1.0-py2.7.egg/twitter
/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.recordio-0.1.2-py2.7.egg/twitter
It could have something to do with sys.path_importer_cache:
As .pex:
>>> pprint.pprint(sys.path_importer_cache, indent=4)
{ '/Users/alex_gaynor/projects/pypy/lib-python/2.7': None,
'/Users/alex_gaynor/projects/pypy/lib_pypy': None,
'/Users/alex_gaynor/projects/pypy/lib_pypy/__extensions__': <imp.NullImporter object at 0x0000000101992350>,
'/Users/wickman/.local/lib/python2.7/site-packages': None,
u'/Users/wickman/.pex/install/Fabric-1.7.0-py2.7.egg.23ac3cd119c8c1fc1ae61629f4903f08ac87aae1': None,
u'/Users/wickman/.pex/install/Fabric-1.7.0-py2.7.egg.23ac3cd119c8c1fc1ae61629f4903f08ac87aae1/Fabric-1.7.0-py2.7.egg': None,
u'/Users/wickman/.pex/install/pycrypto-2.6.1-py2.7-macosx-10.4-x86_64.egg.3e296410f8ea97f22ff41546afb7ad043e965e67': None,
u'/Users/wickman/.pex/install/pycrypto-2.6.1-py2.7-macosx-10.4-x86_64.egg.3e296410f8ea97f22ff41546afb7ad043e965e67/pycrypto-2.6.1-py2.7-macosx-10.4-x86_64.egg': None,
u'/Users/wickman/.pex/install/requests-2.0.0-py2.7.egg.25db80aac9b1e2169cf6267eebbac59f7fe0b191': None,
u'/Users/wickman/.pex/install/requests-2.0.0-py2.7.egg.25db80aac9b1e2169cf6267eebbac59f7fe0b191/requests-2.0.0-py2.7.egg': None,
u'/Users/wickman/.pex/install/simplejson-3.3.0-py2.7.egg.9fa4387ba86e2c44cd549ebf263c4f5823652322': None,
u'/Users/wickman/.pex/install/simplejson-3.3.0-py2.7.egg.9fa4387ba86e2c44cd549ebf263c4f5823652322/simplejson-3.3.0-py2.7.egg': None,
u'/Users/wickman/.pex/install/thrift-0.9.1-py2.7-linux-x86_64.egg.56647e03cc4a1a1c9dd202f10834480951f72569': None,
u'/Users/wickman/.pex/install/thrift-0.9.1-py2.7-linux-x86_64.egg.56647e03cc4a1a1c9dd202f10834480951f72569/thrift-0.9.1-py2.7-linux-x86_64.egg': None,
u'/Users/wickman/.pex/install/thrift-0.9.1-py2.7-macosx-10.4-x86_64.egg.8a27ae138438592e590a9ec590fc0f5fdc9fbf29': None,
u'/Users/wickman/.pex/install/thrift-0.9.1-py2.7-macosx-10.4-x86_64.egg.8a27ae138438592e590a9ec590fc0f5fdc9fbf29/thrift-0.9.1-py2.7-macosx-10.4-x86_64.egg': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/ctypes': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/ctypes/macholib': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/distutils': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/encodings': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/json': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/lib-tk': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/logging': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/plat-darwin': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/plat-mac': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/plat-mac/lib-scriptpackages': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/xml': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/xml/parsers': None,
'/Users/wickman/Python/PyPy-2.2.1/lib_pypy': None,
'/Users/wickman/Python/PyPy-2.2.1/lib_pypy/__extensions__': <imp.NullImporter object at 0x0000000102ca00e0>,
'/Users/wickman/Python/PyPy-2.2.1/lib_pypy/_ctypes': None,
'/Users/wickman/Python/PyPy-2.2.1/lib_pypy/pyrepl': None,
'/Users/wickman/clients/science/dist': None,
'/Users/wickman/clients/science/dist/simulator.pex': <zipimporter object at 0x00000001038b8fc0>,
'/Users/wickman/clients/science/dist/simulator.pex/.bootstrap': <zipimporter object at 0x00000001038b8188>,
'/Users/wickman/clients/science/dist/simulator.pex/.bootstrap/_twitter_common_python': <zipimporter object at 0x00000001038b82c8>,
'/Users/wickman/clients/science/dist/simulator.pex/.bootstrap/_twitter_common_python/http': <zipimporter object at 0x000000010451c098>,
'dist/simulator.pex': <zipimporter object at 0x0000000102f5b308>,
'dist/simulator.pex/.deps/apache.aurora.common-0.5.0_DEV1391136488-py2.7.egg': <zipimporter object at 0x0000000107ebaa48>,
'dist/simulator.pex/.deps/apache.aurora.common-0.5.0_DEV1391136488-py2.7.egg/apache': <zipimporter object at 0x0000000106ec5998>,
'dist/simulator.pex/.deps/apache.aurora.common-0.5.0_DEV1391136488-py2.7.egg/gen': <zipimporter object at 0x0000000106ec5060>,
'dist/simulator.pex/.deps/apache.aurora.common-0.5.0_DEV1391136488-py2.7.egg/gen/apache': <zipimporter object at 0x0000000106ec5ba0>,
'dist/simulator.pex/.deps/apache.aurora.config-0.5.0_DEV1391136488-py2.7.egg': <zipimporter object at 0x000000010806e0e8>,
'dist/simulator.pex/.deps/apache.aurora.config-0.5.0_DEV1391136488-py2.7.egg/apache': <zipimporter object at 0x000000010806e318>,
'dist/simulator.pex/.deps/apache.gen.aurora-0.5.0_DEV1391136488-py2.7.egg': <zipimporter object at 0x000000010806e3e0>,
'dist/simulator.pex/.deps/apache.gen.aurora-0.5.0_DEV1391136488-py2.7.egg/gen': <zipimporter object at 0x000000010806e480>,
'dist/simulator.pex/.deps/apache.gen.aurora-0.5.0_DEV1391136488-py2.7.egg/gen/apache': <zipimporter object at 0x000000010806e818>,
'dist/simulator.pex/.deps/apache.gen.thermos-0.5.0_DEV1391136488-py2.7.egg': <zipimporter object at 0x0000000108c03e98>,
'dist/simulator.pex/.deps/apache.gen.thermos-0.5.0_DEV1391136488-py2.7.egg/gen': <zipimporter object at 0x0000000108c03f60>,
'dist/simulator.pex/.deps/apache.gen.thermos-0.5.0_DEV1391136488-py2.7.egg/gen/apache': <zipimporter object at 0x00000001090c9bf0>,
'dist/simulator.pex/.deps/apache.thermos.common-0.5.0_DEV1391136488-py2.7.egg': <zipimporter object at 0x0000000108c020c0>,
'dist/simulator.pex/.deps/apache.thermos.common-0.5.0_DEV1391136488-py2.7.egg/apache': <zipimporter object at 0x0000000108c022f0>,
'dist/simulator.pex/.deps/apache.thermos.config-0.5.0_DEV1391136488-py2.7.egg': <zipimporter object at 0x00000001086e51c8>,
'dist/simulator.pex/.deps/apache.thermos.config-0.5.0_DEV1391136488-py2.7.egg/apache': <zipimporter object at 0x00000001086e5448>,
'dist/simulator.pex/.deps/audubondata-0.11.0-py2.7.egg': <zipimporter object at 0x000000010806e020>,
'dist/simulator.pex/.deps/paramiko-1.10.1-py2.7.egg': <zipimporter object at 0x0000000107eba980>,
'dist/simulator.pex/.deps/pyparsing-1.5.7-py2.7.egg': <zipimporter object at 0x00000001086e5100>,
'dist/simulator.pex/.deps/pystachio-0.7.2-py2.7.egg': <zipimporter object at 0x0000000106ec5e20>,
'dist/simulator.pex/.deps/src.thrift.com.twitter.aurora.internal.gen.py_thrift_c608e75c-0.0.0-py2.7.egg': <zipimporter object at 0x0000000107eba4a8>,
'dist/simulator.pex/.deps/src.thrift.com.twitter.aurora.internal.gen.py_thrift_c608e75c-0.0.0-py2.7.egg/gen': <zipimporter object at 0x0000000107eba5e8>,
'dist/simulator.pex/.deps/src.thrift.com.twitter.aurora.internal.gen.py_thrift_c608e75c-0.0.0-py2.7.egg/gen/twitter': <zipimporter object at 0x0000000107eba750>,
'dist/simulator.pex/.deps/twitter.common.collections-0.1.0-py2.7.egg': <zipimporter object at 0x000000010806f088>,
'dist/simulator.pex/.deps/twitter.common.collections-0.1.0-py2.7.egg/twitter': <zipimporter object at 0x000000010806f308>,
'dist/simulator.pex/.deps/twitter.common.dirutil-0.1.0-py2.7.egg': <zipimporter object at 0x00000001086e5510>,
'dist/simulator.pex/.deps/twitter.common.dirutil-0.1.0-py2.7.egg/twitter': <zipimporter object at 0x00000001086e5588>,
'dist/simulator.pex/.deps/twitter.common.lang-0.1.0-py2.7.egg': <zipimporter object at 0x000000010806f3d0>,
'dist/simulator.pex/.deps/twitter.common.lang-0.1.0-py2.7.egg/twitter': <zipimporter object at 0x00000001085a02f0>,
'dist/simulator.pex/.deps/twitter.common.log-0.1.0-py2.7.egg': <zipimporter object at 0x00000001085a05c0>,
'dist/simulator.pex/.deps/twitter.common.log-0.1.0-py2.7.egg/twitter': <zipimporter object at 0x00000001085a0d40>,
'dist/simulator.pex/.deps/twitter.common.options-0.1.0-py2.7.egg': <zipimporter object at 0x00000001086e5da8>,
'dist/simulator.pex/.deps/twitter.common.options-0.1.0-py2.7.egg/twitter': <zipimporter object at 0x00000001086e5fd8>,
'dist/simulator.pex/.deps/twitter.common.recordio-0.1.2-py2.7.egg': <zipimporter object at 0x0000000108c023b8>,
'dist/simulator.pex/.deps/twitter.common.recordio-0.1.2-py2.7.egg/twitter': <zipimporter object at 0x0000000108c03dd0>}
As directory:
>>> pprint.pprint(sys.path_importer_cache, indent=4)
{ '/Users/alex_gaynor/projects/pypy/lib-python/2.7': None,
'/Users/alex_gaynor/projects/pypy/lib_pypy': None,
'/Users/alex_gaynor/projects/pypy/lib_pypy/__extensions__': <imp.NullImporter object at 0x0000000101992350>,
'/Users/wickman/.local/lib/python2.7/site-packages': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/ctypes': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/ctypes/macholib': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/distutils': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/encodings': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/json': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/lib-tk': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/logging': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/plat-darwin': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/plat-mac': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/plat-mac/lib-scriptpackages': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/xml': None,
'/Users/wickman/Python/PyPy-2.2.1/lib-python/2.7/xml/parsers': None,
'/Users/wickman/Python/PyPy-2.2.1/lib_pypy': None,
'/Users/wickman/Python/PyPy-2.2.1/lib_pypy/__extensions__': <imp.NullImporter object at 0x0000000102ca00e0>,
'/Users/wickman/Python/PyPy-2.2.1/lib_pypy/_ctypes': None,
'/Users/wickman/Python/PyPy-2.2.1/lib_pypy/pyrepl': None,
'/Users/wickman/clients/science/dist': None,
'/Users/wickman/clients/science/dist/simulator': None,
'/Users/wickman/clients/science/dist/simulator/.bootstrap': None,
'/Users/wickman/clients/science/dist/simulator/.bootstrap/_twitter_common_python': None,
'/Users/wickman/clients/science/dist/simulator/.bootstrap/_twitter_common_python/http': None,
'/Users/wickman/clients/science/dist/simulator/.deps': None,
'/Users/wickman/clients/science/dist/simulator/.deps/Fabric-1.7.0-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/apache.aurora.common-0.5.0_DEV1391136488-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/apache.aurora.common-0.5.0_DEV1391136488-py2.7.egg/apache': None,
'/Users/wickman/clients/science/dist/simulator/.deps/apache.aurora.common-0.5.0_DEV1391136488-py2.7.egg/gen': None,
'/Users/wickman/clients/science/dist/simulator/.deps/apache.aurora.common-0.5.0_DEV1391136488-py2.7.egg/gen/apache': None,
'/Users/wickman/clients/science/dist/simulator/.deps/apache.aurora.config-0.5.0_DEV1391136488-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/apache.aurora.config-0.5.0_DEV1391136488-py2.7.egg/apache': None,
'/Users/wickman/clients/science/dist/simulator/.deps/apache.gen.aurora-0.5.0_DEV1391136488-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/apache.gen.aurora-0.5.0_DEV1391136488-py2.7.egg/gen': None,
'/Users/wickman/clients/science/dist/simulator/.deps/apache.gen.aurora-0.5.0_DEV1391136488-py2.7.egg/gen/apache': None,
'/Users/wickman/clients/science/dist/simulator/.deps/apache.gen.thermos-0.5.0_DEV1391136488-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/apache.gen.thermos-0.5.0_DEV1391136488-py2.7.egg/gen': None,
'/Users/wickman/clients/science/dist/simulator/.deps/apache.gen.thermos-0.5.0_DEV1391136488-py2.7.egg/gen/apache': None,
'/Users/wickman/clients/science/dist/simulator/.deps/apache.thermos.common-0.5.0_DEV1391136488-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/apache.thermos.common-0.5.0_DEV1391136488-py2.7.egg/apache': None,
'/Users/wickman/clients/science/dist/simulator/.deps/apache.thermos.config-0.5.0_DEV1391136488-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/apache.thermos.config-0.5.0_DEV1391136488-py2.7.egg/apache': None,
'/Users/wickman/clients/science/dist/simulator/.deps/audubondata-0.11.0-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/paramiko-1.10.1-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/pycrypto-2.6.1-py2.7-linux-x86_64.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/pycrypto-2.6.1-py2.7-macosx-10.4-x86_64.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/pyparsing-1.5.7-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/pystachio-0.7.2-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/requests-2.0.0-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/simplejson-3.3.0-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/src.thrift.com.twitter.aurora.internal.gen.py_thrift_c608e75c-0.0.0-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/src.thrift.com.twitter.aurora.internal.gen.py_thrift_c608e75c-0.0.0-py2.7.egg/gen': None,
'/Users/wickman/clients/science/dist/simulator/.deps/src.thrift.com.twitter.aurora.internal.gen.py_thrift_c608e75c-0.0.0-py2.7.egg/gen/twitter': None,
'/Users/wickman/clients/science/dist/simulator/.deps/thrift-0.9.1-py2.7-linux-x86_64.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/thrift-0.9.1-py2.7-macosx-10.4-x86_64.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.collections-0.1.0-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.collections-0.1.0-py2.7.egg/twitter': None,
'/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.dirutil-0.1.0-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.dirutil-0.1.0-py2.7.egg/twitter': None,
'/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.lang-0.1.0-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.lang-0.1.0-py2.7.egg/twitter': None,
'/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.log-0.1.0-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.log-0.1.0-py2.7.egg/twitter': None,
'/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.options-0.1.0-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.options-0.1.0-py2.7.egg/twitter': None,
'/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.recordio-0.1.2-py2.7.egg': None,
'/Users/wickman/clients/science/dist/simulator/.deps/twitter.common.recordio-0.1.2-py2.7.egg/twitter': None,
'/Users/wickman/clients/science/dist/simulator/twitter': None,
'dist/simulator': None}
>>>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment