capybara/virtualenv/lib/python2.7/site-packages/pip/_vendor/pkg_resources/__init__.py
def declare_namespace(packageName):
    """Declare that package 'packageName' is a namespace package"""

    imp.acquire_lock()
    try:
        if packageName in _namespace_packages:
            return

        path, parent = sys.path, None
        if '.' in packageName:
            parent = '.'.join(packageName.split('.')[:-1])
            declare_namespace(parent)
            if parent not in _namespace_packages:
                __import__(parent)
            try:
                path = sys.modules[parent].__path__
            except AttributeError:
                raise TypeError("Not a package:", parent)

        # Track what packages are namespaces, so when new path items are added,
        # they can be updated
        _namespace_packages.setdefault(parent,[]).append(packageName)
        _namespace_packages.setdefault(packageName,[])

        for path_item in path:
            # Ensure all the parent's path items are reflected in the child,
            # if they apply
            _handle_ns(packageName, path_item)

    finally:
        imp.release_lock()
def declare_namespace(packageName):
    imp.acquire_lock()
    try:
        if packageName in _namespace_packages:
            return

        path, parent = sys.path, None
        if '.' in packageName:
            parent = '.'.join(packageName.split('.')[:-1])
            declare_namespace(parent)
            if parent not in _namespace_packages:
                __import__(parent)
            try:
                path = sys.modules[parent].__path__
            except AttributeError:
                raise TypeError("Not a package:", parent)

        # Track what packages are namespaces, so when new path items are added,
        # they can be updated
        _namespace_packages.setdefault(parent,[]).append(packageName)
        _namespace_packages.setdefault(packageName,[])

        for path_item in path:
            # Ensure all the parent's path items are reflected in the child,
            # if they apply
            _handle_ns(packageName, path_item)

    finally:
        imp.release_lock()
def declare_namespace ( packageName ) : imp . acquire_lock ( ) try : if packageName in _namespace_packages : return path , parent = sys . path , None if '.' in packageName : parent = '.' . join ( packageName . split ( '.' ) [ : - 1 ] ) declare_namespace ( parent ) if parent not in _namespace_packages : __import__ ( parent ) try : path = sys . modules [ parent ] . __path__ except AttributeError : raise TypeError ( "Not a package:" , parent ) # Track what packages are namespaces, so when new path items are added, # they can be updated _namespace_packages . setdefault ( parent , [ ] ) . append ( packageName ) _namespace_packages . setdefault ( packageName , [ ] ) for path_item in path : # Ensure all the parent's path items are reflected in the child, # if they apply _handle_ns ( packageName , path_item ) finally : imp . release_lock ( )
Declare that package 'packageName' is a namespace package
Declare that package packageName is a namespace package