X7ROOT File Manager
Current Path:
/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils
opt
/
alt
/
python27
/
lib
/
python2.7
/
site-packages
/
pip
/
_internal
/
utils
/
??
..
??
__init__.py
(0 B)
??
__init__.pyc
(226 B)
??
appdirs.py
(1.32 KB)
??
appdirs.pyc
(2.02 KB)
??
compat.py
(9.27 KB)
??
compat.pyc
(9.65 KB)
??
compatibility_tags.py
(5.31 KB)
??
compatibility_tags.pyc
(4.91 KB)
??
datetime.py
(295 B)
??
datetime.pyc
(749 B)
??
deprecation.py
(3.24 KB)
??
deprecation.pyc
(3.8 KB)
??
direct_url_helpers.py
(4.26 KB)
??
direct_url_helpers.pyc
(3.61 KB)
??
distutils_args.py
(1.32 KB)
??
distutils_args.pyc
(1.73 KB)
??
encoding.py
(1.25 KB)
??
encoding.pyc
(1.73 KB)
??
entrypoints.py
(1.19 KB)
??
entrypoints.pyc
(1.59 KB)
??
filesystem.py
(6.78 KB)
??
filesystem.pyc
(8.43 KB)
??
filetypes.py
(571 B)
??
filetypes.pyc
(854 B)
??
glibc.py
(3.22 KB)
??
glibc.pyc
(2.49 KB)
??
hashes.py
(4.57 KB)
??
hashes.pyc
(6.65 KB)
??
inject_securetransport.py
(810 B)
??
inject_securetransport.pyc
(1.19 KB)
??
logging.py
(12.79 KB)
??
logging.pyc
(13.29 KB)
??
misc.py
(27.67 KB)
??
misc.pyc
(37.1 KB)
??
models.py
(1.17 KB)
??
models.pyc
(3.22 KB)
??
packaging.py
(2.96 KB)
??
packaging.pyc
(3.57 KB)
??
parallel.py
(3.32 KB)
??
parallel.pyc
(3.92 KB)
??
pkg_resources.py
(1.22 KB)
??
pkg_resources.pyc
(2.94 KB)
??
setuptools_build.py
(4.94 KB)
??
setuptools_build.pyc
(4.25 KB)
??
subprocess.py
(9.69 KB)
??
subprocess.pyc
(7.31 KB)
??
temp_dir.py
(8.18 KB)
??
temp_dir.pyc
(9.96 KB)
??
typing.py
(1.37 KB)
??
typing.pyc
(1.64 KB)
??
unpacking.py
(9.27 KB)
??
unpacking.pyc
(8.43 KB)
??
urls.py
(1.49 KB)
??
urls.pyc
(2.19 KB)
??
virtualenv.py
(3.62 KB)
??
virtualenv.pyc
(4.6 KB)
??
wheel.py
(7.13 KB)
??
wheel.pyc
(8 KB)
Editing: parallel.py
"""Convenient parallelization of higher order functions. This module provides two helper functions, with appropriate fallbacks on Python 2 and on systems lacking support for synchronization mechanisms: - map_multiprocess - map_multithread These helpers work like Python 3's map, with two differences: - They don't guarantee the order of processing of the elements of the iterable. - The underlying process/thread pools chop the iterable into a number of chunks, so that for very long iterables using a large value for chunksize can make the job complete much faster than using the default value of 1. """ __all__ = ['map_multiprocess', 'map_multithread'] from contextlib import contextmanager from multiprocessing import Pool as ProcessPool from multiprocessing.dummy import Pool as ThreadPool from pip._vendor.requests.adapters import DEFAULT_POOLSIZE from pip._vendor.six import PY2 from pip._vendor.six.moves import map from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: from typing import Callable, Iterable, Iterator, Union, TypeVar from multiprocessing import pool Pool = Union[pool.Pool, pool.ThreadPool] S = TypeVar('S') T = TypeVar('T') # On platforms without sem_open, multiprocessing[.dummy] Pool # cannot be created. try: import multiprocessing.synchronize # noqa except ImportError: LACK_SEM_OPEN = True else: LACK_SEM_OPEN = False # Incredibly large timeout to work around bpo-8296 on Python 2. TIMEOUT = 2000000 @contextmanager def closing(pool): # type: (Pool) -> Iterator[Pool] """Return a context manager making sure the pool closes properly.""" try: yield pool finally: # For Pool.imap*, close and join are needed # for the returned iterator to begin yielding. pool.close() pool.join() pool.terminate() def _map_fallback(func, iterable, chunksize=1): # type: (Callable[[S], T], Iterable[S], int) -> Iterator[T] """Make an iterator applying func to each element in iterable. This function is the sequential fallback either on Python 2 where Pool.imap* doesn't react to KeyboardInterrupt or when sem_open is unavailable. """ return map(func, iterable) def _map_multiprocess(func, iterable, chunksize=1): # type: (Callable[[S], T], Iterable[S], int) -> Iterator[T] """Chop iterable into chunks and submit them to a process pool. For very long iterables using a large value for chunksize can make the job complete much faster than using the default value of 1. Return an unordered iterator of the results. """ with closing(ProcessPool()) as pool: return pool.imap_unordered(func, iterable, chunksize) def _map_multithread(func, iterable, chunksize=1): # type: (Callable[[S], T], Iterable[S], int) -> Iterator[T] """Chop iterable into chunks and submit them to a thread pool. For very long iterables using a large value for chunksize can make the job complete much faster than using the default value of 1. Return an unordered iterator of the results. """ with closing(ThreadPool(DEFAULT_POOLSIZE)) as pool: return pool.imap_unordered(func, iterable, chunksize) if LACK_SEM_OPEN or PY2: map_multiprocess = map_multithread = _map_fallback else: map_multiprocess = _map_multiprocess map_multithread = _map_multithread
Upload File
Create Folder