asda?‰PNG  IHDR ? f ??C1 sRGB ??é gAMA ±? üa pHYs ? ??o¨d GIDATx^íüL”÷e÷Y?a?("Bh?_ò???¢§?q5k?*:t0A-o??¥]VkJ¢M??f?±8\k2íll£1]q?ù???T PKōe[~U#[[ search.pyonu[ abc@@s4ddlmZddlZddlZddlZddlmZmZddlm Z ddl m Z ddl m Z ddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZejeZdefdYZ dZ!dddZ#dZ$dS(i(tabsolute_importN(tCommandtSUCCESS(t OrderedDict(tPipXmlrpcTransport(tPyPI(tget_terminal_size(t indent_log(t CommandError(tNO_MATCHES_FOUND(tparse(t pkg_resources(t xmlrpc_clientt SearchCommandcB@s;eZdZdZdZdZdZdZdZRS(s@Search for PyPI packages whose name or summary contains .tsearchs %prog [options] sSearch PyPI for packages.c O@satt|j|||jjdddddddtjdd |jjd |jdS( Ns-is--indextdesttindextmetavartURLtdefaultthelps3Base URL of Python Package Index (default %default)i( tsuperR t__init__tcmd_optst add_optionRtpypi_urltparsertinsert_option_group(tselftargstkw((s7/usr/lib/python2.7/site-packages/pip/commands/search.pyRs   cC@s||stdn|}|j||}t|}d}tjjr^td}nt|d||rxt St S(Ns)Missing required argument (search query).itterminal_width( RRttransform_hitstNonetsyststdouttisattyRt print_resultsRR (RtoptionsRtqueryt pypi_hitsthitsR((s7/usr/lib/python2.7/site-packages/pip/commands/search.pytrun)s cC@sj|j}|j|L}t||}tj||}|ji|d6|d6d}|SWdQXdS(Ntnametsummarytor(Rt_build_sessionRR t ServerProxyR(RR'R&t index_urltsessiont transporttpypiR)((s7/usr/lib/python2.7/site-packages/pip/commands/search.pyR9s   ( t__name__t __module__t__doc__R+tusageR,RR*R(((s7/usr/lib/python2.7/site-packages/pip/commands/search.pyR s cC@st}x|D]}|d}|d}|d}||jkrki|d6|d6|gd6|| =     !    cC@st|dtS(Ntkey(RDt parse_version(R9((s7/usr/lib/python2.7/site-packages/pip/commands/search.pyR<s(%t __future__RtloggingR"RItpip.basecommandRRt pip.compatRt pip.downloadRt pip.modelsRt pip.utilsRtpip.utils.loggingRtpip.exceptionsRtpip.status_codesR tpip._vendor.packaging.versionR RXt pip._vendorR tpip._vendor.six.movesR t getLoggerR4RLR R R!R%R<(((s7/usr/lib/python2.7/site-packages/pip/commands/search.pyts&   + &PKōe[GD9B/B/ install.pyonu[ abc@@sddlmZddlZddlZddlZddlZddlZddlZddlZddlm Z yddl Z Wne k re Z nXddl mZddlmZddlmZmZddlmZmZmZddlmZdd lmZmZdd lmZdd lm Z dd l!m"Z"dd l#m$Z$m%Z%ej&e'Z(defdYZ)dZ*dS(i(tabsolute_importN(tpath(tRequirementSet(tRequirementCommand(tvirtualenv_no_globaltdistutils_scheme(tInstallationErrort CommandErrortPreviousBuildDirError(t cmdoptions(t ensure_dirtget_installed_version(tBuildDirectory(tRemovedInPip10Warning(tcheck_path_owner(t WheelCachet WheelBuildertInstallCommandcB@s2eZdZdZdZdZdZdZRS(sI Install packages from: - PyPI (and other indexes) using requirement specifiers. - VCS project urls. - Local project directories. - Local or remote source archives. pip also supports installing from "requirements files", which provide an easy way to specify a whole environment to be installed. tinstalls% %prog [options] [package-index-options] ... %prog [options] -r [package-index-options] ... %prog [options] [-e] ... %prog [options] [-e] ... %prog [options] ...sInstall packages.c O@sitt|j|||j}|jtj|jtj|jtj|jtj |jdddddddddd |jd d d d dddddddd|jtj |jdddddddd|jddddddddgdd|jddddddd|jdd dd!dddd"|jtj |jtj |jtj|jtj|jd#dd$dddd%|jd&dd'dddd(|jd)dd*dddddd+|jd,dd-dd.dddd/|jd0dd1dddddd2|jd3dddd4dtdd5|jd6dd7dd4dd8|jtj|jtj|jtj|jtj|jtj|jtj|jtjtjtj|j}|jjd9||jjd9|dS(:Ns-ts--targettdestt target_dirtmetavartdirtdefaultthelpsInstall packages into . By default this will not replace existing files/folders in . Use --upgrade to replace existing packages in with new versions.s-ds --downloads--download-dirs--download-directoryt download_dirs`Download packages into instead of installing them, regardless of what's already installed.s-Us --upgradetupgradetactiont store_truesUpgrade all specified packages to the newest available version. The handling of dependencies depends on the upgrade-strategy used.s--upgrade-strategytupgrade_strategyteagertchoicessonly-if-neededs3Determines how dependency upgrading should be handled. "eager" - dependencies are upgraded regardless of whether the currently installed version satisfies the requirements of the upgraded package(s). "only-if-needed" - are upgraded only when they do not satisfy the requirements of the upgraded package(s).s--force-reinstalltforce_reinstallsKWhen upgrading, reinstall all packages even if they are already up-to-date.s-Is--ignore-installedtignore_installeds5Ignore the installed packages (reinstalling instead).s--usert use_user_sitesInstall to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%\Python on Windows. (See the Python documentation for site.USER_BASE for full details.)s--eggtas_eggsInstall packages as eggs, not 'flat', like pip normally does. This option is not about installing *from* eggs. (WARNING: Because this option overrides pip's normal install logic, requirements files may not behave as expected.)s--roott root_paths=Install everything relative to this alternate root directory.s--strip-file-prefixtstrip_file_prefixtprefixs5Strip given prefix from script paths in wheel RECORD.s--prefixt prefix_pathsIInstallation prefix where lib, bin and other top-level folders are placeds --compiletcompilesCompile py files to pycs --no-compilet store_falsesDo not compile py files to pyci(tsuperRt__init__tcmd_optst add_optionR t constraintsteditablet requirementst build_dirtNonetsrctignore_requires_pythontno_depstinstall_optionstglobal_optionstTruet use_wheelt no_use_wheelt no_binaryt only_binarytpretno_cleantrequire_hashestmake_option_groupt index_grouptparsertinsert_option_group(tselftargstkwR,t index_opts((s8/usr/lib/python2.7/site-packages/pip/commands/install.pyR+8s      c+C@s.tj|tj|d}tjdkrc| rctjdtjt j dn|j rt j dtn|jrt j dtn|jrt j dtn|jrt j dtn|jrt j dtt|_n|jrtjj|j|_ntjj|j|_|jp@g}|jr|jrdtd ntr|td n|jd |jd nd}|j r#t|_t!j"}tjj|j |_ tjj#|j rtjj$|j  rtd n|jd|n|j%p/g}|j&|R}|j'||}|j(pe|j } t)|j*|j+} |j*rt,|j* rtjd|j*d|_*nt-|jd| } t.d| d|jd|jd|j/d|j0d|j d|jd|j1d|j2d|j3d|jd|d|d|j4d|j5d | d!|j6} |j7| |||||j8| | j9sdSzy|jst: s|j* r| j;|n+t<| |d"gd#g} | j=d$t|js | j>||d%|j?d&|jd'|j@tAd(|jd)|d%|j?d&|jd|j5}tB| jCd*tDjEd+}g}xe|D]]}|j8}y-tF|j8|}|r|d,|7}nWntGk rnX|j|qWd-jH|}|rMtjId.|qMnAd-jHg| jJD]}|j8^q}|rMtjId/|nWntKk rmt|_(nXWd|j(s| jLnXWdQXWdQX|j r*tM|j g}tNd0d)|d1}tNd0d)|d2}tjj#|r|j|ntjj#|r-||kr-|j|nx|D]}xtjO|D]}tjjH|j |}tjj#|r|j/stjd3|qJntjjP|rtjd4|qJntjj$|rtQjR|qtjS|ntQjTtjjH|||qJWq4WtQjR|n| S(5NcS@s.ttdp-ttdo-tjtjkS(Nt real_prefixt base_prefix(thasattrtsysRIR&(((s8/usr/lib/python2.7/site-packages/pip/commands/install.pytis_venvsispWARNING: Running pip install with root privileges is generally not a good idea. Try `%s install --user` instead.s--egg has been deprecated and will be removed in the future. This flag is mutually exclusive with large parts of pip, and actually using it invalidates pip's ability to manage the installation process.s--allow-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.s--allow-all-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.s--allow-unverified has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.spip install --download has been deprecated and will be removed in the future. Pip now has a download command that should be used instead.sVCan not combine '--user' and '--prefix' as they imply different installation locationssZCan not perform a '--user' install. User site-packages are not visible in this virtualenv.s--users --prefix=s=Target path exists but is not a directory, will not continue.s--home=sThe directory '%s' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.tdeleteR1tsrc_dirRRRR#R!tignore_dependenciesR4R R"Rtsessiont pycompiletisolatedt wheel_cacheR?t build_optionsR7t autobuildingtrootR&R%tuserthometkeytnamet-t sSuccessfully installed %ssSuccessfully downloaded %sttpurelibtplatlibsKTarget directory %s already exists. Specify --upgrade to force replacement.sTarget directory %s already exists and is a link. Pip will not automatically replace links, please remove if replacement is desired.(UR tresolve_wheel_no_use_binarytcheck_install_build_globaltostgetuidtloggertwarningRtbasenameRKtargvR#twarningstwarnR tallow_externaltallow_all_externaltallow_unverifiedRR8R!R1tabspathRNR6R"R'RRRtappendR2RttempfiletmkdtemptexiststisdirR7t_build_sessiont_build_package_finderR>Rt cache_dirtformat_controlRR RRRROR4R R(t isolated_modeR?tpopulate_requirement_setRZthas_requirementstwheelt prepare_filesRtbuildRR$R%tget_lib_location_guessestsortedtsuccessfully_installedtoperatort attrgetterR t Exceptiontjointinfotsuccessfully_downloadedRt cleanup_filesR Rtlistdirtislinktshutiltrmtreetremovetmove(RDtoptionsRERLR6ttemp_target_dirR7RPtfindert build_deleteRSR1trequirement_settwbtpossible_lib_locationstreqstitemstreqtitemtinstalled_versiont installedt downloadedt lib_dir_listt purelib_dirt platlib_dirtlib_dirttarget_item_dir((s8/usr/lib/python2.7/site-packages/pip/commands/install.pytrunsR                                                                (t__name__t __module__t__doc__RZtusagetsummaryR+R(((s8/usr/lib/python2.7/site-packages/pip/commands/install.pyR!s   cO@s$td||}|d|dgS(NR]R^R_(R(REtkwargstscheme((s8/usr/lib/python2.7/site-packages/pip/commands/install.pyR}s(+t __future__RtloggingRRbRoRRhRKRRzt ImportErrorR2tpip.reqRtpip.basecommandRt pip.locationsRRtpip.exceptionsRRRtpipR t pip.utilsR R tpip.utils.buildR tpip.utils.deprecationR tpip.utils.filesystemRt pip.wheelRRt getLoggerRRdRR}(((s8/usr/lib/python2.7/site-packages/pip/commands/install.pyts4         PKōe[)P uninstall.pyonu[ abc@@sddlmZddlZddlmZddlmZmZmZddl m Z ddl m Z de fdYZ dS( i(tabsolute_importN(t WheelCache(tInstallRequirementtRequirementSettparse_requirements(tCommand(tInstallationErrortUninstallCommandcB@s2eZdZdZdZdZdZdZRS(sB Uninstall packages. pip is able to uninstall most installed packages. Known exceptions are: - Pure distutils packages installed with ``python setup.py install``, which leave behind no metadata to determine what files were installed. - Script wrappers installed by ``python setup.py develop``. t uninstallsU %prog [options] ... %prog [options] -r ...sUninstall packages.c O@stt|j|||jjdddddddgdd d d |jjd d ddddd d|jjd|jdS(Ns-rs --requirementtdestt requirementstactiontappendtdefaulttmetavartfilethelpsjUninstall all the packages listed in the given requirements file. This option can be used multiple times.s-ys--yestyest store_trues2Don't ask for confirmation of uninstall deletions.i(tsuperRt__init__tcmd_optst add_optiontparsertinsert_option_group(tselftargstkw((s:/usr/lib/python2.7/site-packages/pip/commands/uninstall.pyRs    c C@s4|j|}tjjtt}t|j|}tddddddd|j d|d|}x3|D]+}|j t j |d|j d|qvWxG|j D]<}x3t|d|d|d|D]} |j | qWqW|jstdtd |jn|jd |jWdQXdS( Nt build_dirtsrc_dirt download_dirtisolatedtsessiont wheel_cachetoptionssLYou must give at least one requirement to %(name)s (see "pip help %(name)s")tnamet auto_confirm(t_build_sessiontpiptindext FormatControltsetRt cache_dirRtNonet isolated_modetadd_requirementRt from_lineR Rthas_requirementsRtdictR#RR( RR"RR tformat_controlR!trequirement_setR#tfilenametreq((s:/usr/lib/python2.7/site-packages/pip/commands/uninstall.pytrun-s6     (t__name__t __module__t__doc__R#tusagetsummaryRR5(((s:/usr/lib/python2.7/site-packages/pip/commands/uninstall.pyR s   (t __future__RR&t pip.wheelRtpip.reqRRRtpip.basecommandRtpip.exceptionsRR(((s:/usr/lib/python2.7/site-packages/pip/commands/uninstall.pyts  PKōe[|y y freeze.pyonu[ abc@@sddlmZddlZddlZddlmZddlmZddlm Z ddl m Z d Z d efd YZ dS(i(tabsolute_importN(t stdlib_pkgs(tCommand(tfreeze(t WheelCachetpipt setuptoolst distributetwheelt FreezeCommandcB@s8eZdZdZdZdZdZdZdZRS(sx Output installed packages in requirements format. packages are listed in a case-insensitive sorted order. Rs %prog [options]s1Output installed packages in requirements format.sext://sys.stderrc O@stt|j|||jjdddddddgdd d d |jjd d dddddgddd d|jjdddddddtd d|jjddddddtd d|jjdddddd ddjt|jj d|jdS(Ns-rs --requirementtdestt requirementstactiontappendtdefaulttmetavartfilethelps}Use the order in the given requirements file and its comments when generating output. This option can be used multiple times.s-fs --find-linkst find_linkstURLs<URL for finding packages, which will be added to the output.s-ls--localtlocalt store_truesUIf in a virtualenv that has global access, do not output globally-installed packages.s--usertusers,Only output packages installed in user-site.s--allt freeze_alls,Do not skip these packages in the output: %ss, i( tsuperR t__init__tcmd_optst add_optiontFalsetjointDEV_PKGStparsertinsert_option_group(tselftargstkw((s7/usr/lib/python2.7/site-packages/pip/commands/freeze.pyRsD        cC@stjjtt}t|j|}tt}|jsR|jt nt d|j d|j d|j d|jd|jd|jd|d|}x(t|D]}tjj|d qWdS( Nt requirementRt local_onlyt user_onlyt skip_regextisolatedt wheel_cachetskips (Rtindext FormatControltsetRt cache_dirRRtupdateRtdictR RRRtskip_requirements_regext isolated_modeRtsyststdouttwrite(R!toptionsR"tformat_controlR)R*t freeze_kwargstline((s7/usr/lib/python2.7/site-packages/pip/commands/freeze.pytrunEs          (sext://sys.stderrsext://sys.stderr( t__name__t __module__t__doc__tnametusagetsummaryt log_streamsRR:(((s7/usr/lib/python2.7/site-packages/pip/commands/freeze.pyR s *(RRRR(t __future__RR3Rt pip.compatRtpip.basecommandRtpip.operations.freezeRt pip.wheelRRR (((s7/usr/lib/python2.7/site-packages/pip/commands/freeze.pyts  PKōe[ޕ\ download.pyonu[ abc@@sddlmZddlZddlZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZmZdd lmZdd lmZejeZd e fd YZdS( i(tabsolute_importN(t CommandError(t FormatControl(tRequirementSet(tRequirementCommand(t cmdoptions(t ensure_dirtnormalize_path(tBuildDirectory(tcheck_path_ownertDownloadCommandcB@s2eZdZdZdZdZdZdZRS(sL Download packages from: - PyPI (and other indexes) using requirement specifiers. - VCS project urls. - Local project directories. - Local or remote source archives. pip also supports downloading from "requirements files", which provide an easy way to specify a whole environment to be downloaded. tdownloads% %prog [options] [package-index-options] ... %prog [options] -r [package-index-options] ... %prog [options] [-e] ... %prog [options] [-e] ... %prog [options] ...sDownload packages.c O@s tt|j|||j}|jtj|jtj|jtj|jtj |jtj |jtj |jtj |jtj |jtj|jtj|jtj|jtj|jddddddddd tjd d |jd dd dd d dd d|jdddddd dd d|jdddddd dd d|jdddddd dd dtjtj|j}|jjd||jjd|dS(Ns-ds--dests--destination-dirs--destination-directorytdestt download_dirtmetavartdirtdefaultthelpsDownload packages into .s --platformtplatforms`Only download wheels compatible with . Defaults to the platform of the running system.s--python-versiontpython_versions&Only download wheels compatible with Python interpreter version . If not specified, then the current system interpreter minor version is used. A major version (e.g. '2') can be specified to match all minor revs of that major version. A minor version (e.g. '34') can also be specified.s--implementationtimplementationsOnly download wheels compatible with Python implementation , e.g. 'pp', 'jy', 'cp', or 'ip'. If not specified, then the current interpreter implementation is used. Use 'py' to force implementation-agnostic wheels.s--abitabisOnly download wheels compatible with Python abi , e.g. 'pypy_41'. If not specified, then the current interpreter abi tag is used. Generally you will need to specify --implementation, --platform, and --python-version when using this option.i(tsuperR t__init__tcmd_optst add_optionRt constraintsteditablet requirementst build_dirtno_depstglobal_optionst no_binaryt only_binarytsrctpretno_cleantrequire_hashestostcurdirtNonetmake_option_grouptnon_deprecated_index_grouptparsertinsert_option_group(tselftargstkwRt index_opts((s9/usr/lib/python2.7/site-packages/pip/commands/download.pyR*sb   c C@sZt|_|jr!|jg}nd}t|j|j|j|jg}tt t dg}|r|j |krt dnt j j|j|_t|j|_t|j|j|}|jd|d|d|jd|d|jd|j}|jp|j }|jrWt|j rWtjd |jd|_nt|jd |} td | d |jd |jdtd|jd|d|jd|j} |j | |||||j!d| j"sdS| j#|dj$g| j%D]} | j!^q} | r4tj&d| n|jsJ| j'nWdQXWdQX| S(Ns:all:s--only-binary=:all: must be set and --no-binary must not be set (or must be set to :none:) when restricting platform and interpreter constraints using --python-version, --platform, --abi, or --implementation.toptionstsessionRtpython_versionsRRsThe directory '%s' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.tdeleteRtsrc_dirR tignore_installedtignore_dependenciestisolatedR%t sSuccessfully downloaded %s((tTrueR6RR(tanyRRRRtsettformat_controlRR&tpathtabspathR5RR Rt_build_sessiont_build_package_finderR$Rt cache_dirR tloggertwarningRRR7t isolated_modeR%tpopulate_requirement_settnamethas_requirementst prepare_filestjointsuccessfully_downloadedtinfot cleanup_files( R-R1R.R3tdist_restriction_sett binary_onlyR2tfindert build_deleteRtrequirement_settreqt downloaded((s9/usr/lib/python2.7/site-packages/pip/commands/download.pytrun{sx                   "  (t__name__t __module__t__doc__RGtusagetsummaryRRU(((s9/usr/lib/python2.7/site-packages/pip/commands/download.pyR s   Q(t __future__RtloggingR&tpip.exceptionsRt pip.indexRtpip.reqRtpip.basecommandRtpipRt pip.utilsRRtpip.utils.buildRtpip.utils.filesystemR t getLoggerRVRCR (((s9/usr/lib/python2.7/site-packages/pip/commands/download.pyts  PKōe[==hash.pynu[from __future__ import absolute_import import hashlib import logging import sys from pip.basecommand import Command from pip.status_codes import ERROR from pip.utils import read_chunks from pip.utils.hashes import FAVORITE_HASH, STRONG_HASHES logger = logging.getLogger(__name__) class HashCommand(Command): """ Compute a hash of a local package archive. These can be used with --hash in a requirements file to do repeatable installs. """ name = 'hash' usage = '%prog [options] ...' summary = 'Compute hashes of package archives.' def __init__(self, *args, **kw): super(HashCommand, self).__init__(*args, **kw) self.cmd_opts.add_option( '-a', '--algorithm', dest='algorithm', choices=STRONG_HASHES, action='store', default=FAVORITE_HASH, help='The hash algorithm to use: one of %s' % ', '.join(STRONG_HASHES)) self.parser.insert_option_group(0, self.cmd_opts) def run(self, options, args): if not args: self.parser.print_usage(sys.stderr) return ERROR algorithm = options.algorithm for path in args: logger.info('%s:\n--hash=%s:%s', path, algorithm, _hash_of_file(path, algorithm)) def _hash_of_file(path, algorithm): """Return the hash digest of a file.""" with open(path, 'rb') as archive: hash = hashlib.new(algorithm) for chunk in read_chunks(archive): hash.update(chunk) return hash.hexdigest() PKōe[_++list.pycnu[ abc@@s,ddlmZddlZddlZddlZyddlmZWn!ek rkddlmZnXddl m Z ddl m Z ddl mZddlmZdd lmZmZdd lmZdd lmZmZejeZd e fd YZdZdZdZdS(i(tabsolute_importN(t zip_longest(t izip_longest(tsix(tCommand(t CommandError(t PackageFinder(tget_installed_distributionstdist_is_editable(tRemovedInPip10Warning(tmake_option_groupt index_groupt ListCommandcB@seZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZRS(st List installed packages, including editables. Packages are listed in a case-insensitive sorted order. tlists %prog [options]sList installed packages.c O@sqtt|j|||j}|jdddddtdd|jdd dddtdd |jd d dddtdd |jdddddtdd|jjddddddtdd|jddddtdd|jddddddd$dd|jd dddd!dd"tt|j}|jj d#||jj d#|dS(%Ns-os --outdatedtactiont store_truetdefaultthelpsList outdated packagess-us --uptodatesList uptodate packagess-es --editablesList editable projects.s-ls--localsSIf in a virtualenv that has global access, do not list globally-installed packages.s--usertdesttusers,Only output packages installed in user-site.s--presYInclude pre-release and development versions. By default, pip only finds stable versions.s--formattstoret list_formattchoicestlegacytcolumnstfreezetjsonsJSelect the output format among: legacy (default), columns, freeze or json.s--not-requiredt not_requireds>List packages that are not dependencies of installed packages.i(RRRR( tsuperR t__init__tcmd_optst add_optiontFalseR R tparsertinsert_option_group(tselftargstkwRt index_opts((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyR#s^      c C@s7td|jd|d|jd|jd|jd|S(sK Create a package finder appropriate to this list command. t find_linkst index_urlstallow_all_prereleasest trusted_hoststprocess_dependency_linkstsession(RR'tpreR*R+(R#toptionsR(R,((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyt_build_package_findercs    cC@s)|jrtjdtn|jr8tjdtn|jrTtjdtn|jdkrvtjdtn|jr|j rt dnt d|j d|j d|j}|jr|j||}n|j r|j||}n|jr|j||}n|j||dS( Ns--allow-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.s--allow-all-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.s--allow-unverified has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.sThe default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.s5Options --outdated and --uptodate cannot be combined.t local_onlyt user_onlyteditables_only(tallow_externaltwarningstwarnR tallow_all_externaltallow_unverifiedRtNonetoutdatedtuptodateRRtlocalRteditablet get_outdatedt get_uptodateRtget_not_requiredtoutput_package_listing(R#R.R$tpackages((s5/usr/lib/python2.7/site-packages/pip/commands/list.pytrunps<              cC@s5g|j||D]}|j|jkr|^qS(N(titer_packages_latest_infostlatest_versiontparsed_version(R#RAR.tdist((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyR=scC@s5g|j||D]}|j|jkr|^qS(N(RCRDRE(R#RAR.RF((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyR>sc@sQtx+|D]#}jd|jDqWtfd|DS(Ncs@s|]}|jVqdS(N(tkey(t.0t requirement((s5/usr/lib/python2.7/site-packages/pip/commands/list.pys sc3@s$|]}|jkr|VqdS(N(RG(RHtpkg(tdep_keys(s5/usr/lib/python2.7/site-packages/pip/commands/list.pys s(tsettupdatetrequires(R#RAR.RF((RKs5/usr/lib/python2.7/site-packages/pip/commands/list.pyR?s  !c c@sq|jg|j}|jr>tjddj|g}ng}x6|D].}|jdrK|j|jdqKqKW|j |}|j |||}|j |x|D]}d}|j |j } |jsg| D]} | jjs| ^q} n| sqnt| d|j} | j} | jjrFd}nd}| |_||_|VqWWdQXdS(NsIgnoring indexes: %st,sdependency_links.txttunknownRGtwheeltsdist(t index_urltextra_index_urlstno_indextloggertdebugtjoint has_metadatatextendtget_metadata_linest_build_sessionR/tadd_dependency_linkstfind_all_candidatesRGR-tversiont is_prereleasetmaxt_candidate_sort_keytlocationtis_wheelRDtlatest_filetype( R#RAR.R(tdependency_linksRFR,tfinderttyptall_candidatest candidatetbest_candidatetremote_version((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyRCs:              cC@s>t|r&d|j|j|jfSd|j|jfSdS(Ns %s (%s, %s)s%s (%s)(Rt project_nameR_Rc(R#RF((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyt output_legacys   cC@s d|j||j|jfS(Ns%s - Latest: %s [%s](RnRDRe(R#RF((s5/usr/lib/python2.7/site-packages/pip/commands/list.pytoutput_legacy_latests cC@st|dd}|jdkrR|rRt||\}}|j||n|jdkrx|D]}tjd|j|jqhWnq|jdkrtjt||nIxF|D]>}|j rtj|j |qtj|j |qWdS(NRGcS@s |jjS(N(Rmtlower(RF((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyttRRs%s==%sR( tsortedRtformat_for_columnstoutput_package_listing_columnsRVtinfoRmR_tformat_for_jsonR9RoRn(R#RAR.tdatatheaderRF((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyR@s     cC@st|dkr%|jd|nt|\}}t|dkrq|jddjtd|nx|D]}tj|qxWdS(Niit cS@sd|S(Nt-((tx((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyRq Rr(tlentinsertttabulateRXtmapRVRv(R#RxRyt pkg_stringstsizestval((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyRus( (t__name__t __module__t__doc__tnametusagetsummaryRR/RBR=R>R?RCRnRoR@Ru(((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyR s @ 6    '  cC@st|dkstdgtd|D}xK|D]C}gt||D]'\}}t|tt|^qR}q<Wg}xm|D]e}djgt||D]3\}}|dk rt|j|nd^q}|j|qW||fS(Nics@s|]}t|VqdS(N(R}(RHR|((s5/usr/lib/python2.7/site-packages/pip/commands/list.pys sRzRr( R}tAssertionErrorRaRtstrRXR8tljusttappend(tvalsRtrowtstctresulttdisplay((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyRs A  IcC@s|j}|r$ddddg}n ddg}g}td|Dr\|jdnxu|D]m}|j|jg}|r|j|j|j|jnt|r|j|jn|j|qcW||fS(s_ Convert the package data into something usable by output_package_listing_columns. tPackagetVersiontLatesttTypecs@s|]}t|VqdS(N(R(RHR|((s5/usr/lib/python2.7/site-packages/pip/commands/list.pys 2stLocation( R9tanyRRmR_RDReRRc(tpkgsR.trunning_outdatedRyRxtprojR((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyRt%s     cC@sg}xm|D]e}i|jd6tj|jd6}|jretj|j|d<|j|ds&      !PKōe[1WN N completion.pyonu[ abc@@sgddlmZddlZddlmZdZidd6dd6d d 6Zd efd YZdS( i(tabsolute_importN(tCommandsJ # pip %(shell)s completion start%(script)s# pip %(shell)s completion end s _pip_completion() { COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]}" \ COMP_CWORD=$COMP_CWORD \ PIP_AUTO_COMPLETE=1 $1 ) ) } complete -o default -F _pip_completion pip tbashs function _pip_completion { local words cword read -Ac words read -cn cword reply=( $( COMP_WORDS="$words[*]" \ COMP_CWORD=$(( cword-1 )) \ PIP_AUTO_COMPLETE=1 $words[1] ) ) } compctl -K _pip_completion pip tzshs function __fish_complete_pip set -lx COMP_WORDS (commandline -o) "" set -lx COMP_CWORD (math (contains -i -- (commandline -t) $COMP_WORDS)-1) set -lx PIP_AUTO_COMPLETE 1 string split \ -- (eval $COMP_WORDS[1]) end complete -fa "(__fish_complete_pip)" -c pip tfishtCompletionCommandcB@s,eZdZdZdZdZdZRS(s3A helper command to be used for command completion.t completions-A helper command used for command completion.c O@stt|j|||j}|jddddddddd d |jd d dddd ddd d|jddddddddd d|jjd|dS(Ns--bashs-btactiont store_consttconstRtdesttshellthelpsEmit completion code for bashs--zshs-zRsEmit completion code for zshs--fishs-fRsEmit completion code for fishi(tsuperRt__init__tcmd_optst add_optiontparsertinsert_option_group(tselftargstkwR((s;/usr/lib/python2.7/site-packages/pip/commands/completion.pyR-s*    cC@stj}gt|D]}d|^q}|j|krptj|jd}ti|d6|jd6GHntjjddj |dS(s-Prints the completion code of the given shells--ttscriptR sERROR: You must pass %s s or N( tCOMPLETION_SCRIPTStkeystsortedR tgettBASE_COMPLETIONtsyststderrtwritetjoin(RtoptionsRtshellsR t shell_optionsR((s;/usr/lib/python2.7/site-packages/pip/commands/completion.pytrunGs # (t__name__t __module__t__doc__tnametsummaryRR$(((s;/usr/lib/python2.7/site-packages/pip/commands/completion.pyR(s  (t __future__RRtpip.basecommandRRRR(((s;/usr/lib/python2.7/site-packages/pip/commands/completion.pyts    PKōe[K8i,i,list.pynu[from __future__ import absolute_import import json import logging import warnings try: from itertools import zip_longest except ImportError: from itertools import izip_longest as zip_longest from pip._vendor import six from pip.basecommand import Command from pip.exceptions import CommandError from pip.index import PackageFinder from pip.utils import ( get_installed_distributions, dist_is_editable) from pip.utils.deprecation import RemovedInPip10Warning from pip.cmdoptions import make_option_group, index_group logger = logging.getLogger(__name__) class ListCommand(Command): """ List installed packages, including editables. Packages are listed in a case-insensitive sorted order. """ name = 'list' usage = """ %prog [options]""" summary = 'List installed packages.' def __init__(self, *args, **kw): super(ListCommand, self).__init__(*args, **kw) cmd_opts = self.cmd_opts cmd_opts.add_option( '-o', '--outdated', action='store_true', default=False, help='List outdated packages') cmd_opts.add_option( '-u', '--uptodate', action='store_true', default=False, help='List uptodate packages') cmd_opts.add_option( '-e', '--editable', action='store_true', default=False, help='List editable projects.') cmd_opts.add_option( '-l', '--local', action='store_true', default=False, help=('If in a virtualenv that has global access, do not list ' 'globally-installed packages.'), ) self.cmd_opts.add_option( '--user', dest='user', action='store_true', default=False, help='Only output packages installed in user-site.') cmd_opts.add_option( '--pre', action='store_true', default=False, help=("Include pre-release and development versions. By default, " "pip only finds stable versions."), ) cmd_opts.add_option( '--format', action='store', dest='list_format', choices=('legacy', 'columns', 'freeze', 'json'), help="Select the output format among: legacy (default), columns, " "freeze or json.", ) cmd_opts.add_option( '--not-required', action='store_true', dest='not_required', help="List packages that are not dependencies of " "installed packages.", ) index_opts = make_option_group(index_group, self.parser) self.parser.insert_option_group(0, index_opts) self.parser.insert_option_group(0, cmd_opts) def _build_package_finder(self, options, index_urls, session): """ Create a package finder appropriate to this list command. """ return PackageFinder( find_links=options.find_links, index_urls=index_urls, allow_all_prereleases=options.pre, trusted_hosts=options.trusted_hosts, process_dependency_links=options.process_dependency_links, session=session, ) def run(self, options, args): if options.allow_external: warnings.warn( "--allow-external has been deprecated and will be removed in " "the future. Due to changes in the repository protocol, it no " "longer has any effect.", RemovedInPip10Warning, ) if options.allow_all_external: warnings.warn( "--allow-all-external has been deprecated and will be removed " "in the future. Due to changes in the repository protocol, it " "no longer has any effect.", RemovedInPip10Warning, ) if options.allow_unverified: warnings.warn( "--allow-unverified has been deprecated and will be removed " "in the future. Due to changes in the repository protocol, it " "no longer has any effect.", RemovedInPip10Warning, ) if options.list_format is None: warnings.warn( "The default format will switch to columns in the future. " "You can use --format=(legacy|columns) (or define a " "format=(legacy|columns) in your pip.conf under the [list] " "section) to disable this warning.", RemovedInPip10Warning, ) if options.outdated and options.uptodate: raise CommandError( "Options --outdated and --uptodate cannot be combined.") packages = get_installed_distributions( local_only=options.local, user_only=options.user, editables_only=options.editable, ) if options.outdated: packages = self.get_outdated(packages, options) elif options.uptodate: packages = self.get_uptodate(packages, options) if options.not_required: packages = self.get_not_required(packages, options) self.output_package_listing(packages, options) def get_outdated(self, packages, options): return [ dist for dist in self.iter_packages_latest_infos(packages, options) if dist.latest_version > dist.parsed_version ] def get_uptodate(self, packages, options): return [ dist for dist in self.iter_packages_latest_infos(packages, options) if dist.latest_version == dist.parsed_version ] def get_not_required(self, packages, options): dep_keys = set() for dist in packages: dep_keys.update(requirement.key for requirement in dist.requires()) return set(pkg for pkg in packages if pkg.key not in dep_keys) def iter_packages_latest_infos(self, packages, options): index_urls = [options.index_url] + options.extra_index_urls if options.no_index: logger.debug('Ignoring indexes: %s', ','.join(index_urls)) index_urls = [] dependency_links = [] for dist in packages: if dist.has_metadata('dependency_links.txt'): dependency_links.extend( dist.get_metadata_lines('dependency_links.txt'), ) with self._build_session(options) as session: finder = self._build_package_finder(options, index_urls, session) finder.add_dependency_links(dependency_links) for dist in packages: typ = 'unknown' all_candidates = finder.find_all_candidates(dist.key) if not options.pre: # Remove prereleases all_candidates = [candidate for candidate in all_candidates if not candidate.version.is_prerelease] if not all_candidates: continue best_candidate = max(all_candidates, key=finder._candidate_sort_key) remote_version = best_candidate.version if best_candidate.location.is_wheel: typ = 'wheel' else: typ = 'sdist' # This is dirty but makes the rest of the code much cleaner dist.latest_version = remote_version dist.latest_filetype = typ yield dist def output_legacy(self, dist): if dist_is_editable(dist): return '%s (%s, %s)' % ( dist.project_name, dist.version, dist.location, ) else: return '%s (%s)' % (dist.project_name, dist.version) def output_legacy_latest(self, dist): return '%s - Latest: %s [%s]' % ( self.output_legacy(dist), dist.latest_version, dist.latest_filetype, ) def output_package_listing(self, packages, options): packages = sorted( packages, key=lambda dist: dist.project_name.lower(), ) if options.list_format == 'columns' and packages: data, header = format_for_columns(packages, options) self.output_package_listing_columns(data, header) elif options.list_format == 'freeze': for dist in packages: logger.info("%s==%s", dist.project_name, dist.version) elif options.list_format == 'json': logger.info(format_for_json(packages, options)) else: # legacy for dist in packages: if options.outdated: logger.info(self.output_legacy_latest(dist)) else: logger.info(self.output_legacy(dist)) def output_package_listing_columns(self, data, header): # insert the header first: we need to know the size of column names if len(data) > 0: data.insert(0, header) pkg_strings, sizes = tabulate(data) # Create and add a separator. if len(data) > 0: pkg_strings.insert(1, " ".join(map(lambda x: '-' * x, sizes))) for val in pkg_strings: logger.info(val) def tabulate(vals): # From pfmoore on GitHub: # https://github.com/pypa/pip/issues/3651#issuecomment-216932564 assert len(vals) > 0 sizes = [0] * max(len(x) for x in vals) for row in vals: sizes = [max(s, len(str(c))) for s, c in zip_longest(sizes, row)] result = [] for row in vals: display = " ".join([str(c).ljust(s) if c is not None else '' for s, c in zip_longest(sizes, row)]) result.append(display) return result, sizes def format_for_columns(pkgs, options): """ Convert the package data into something usable by output_package_listing_columns. """ running_outdated = options.outdated # Adjust the header for the `pip list --outdated` case. if running_outdated: header = ["Package", "Version", "Latest", "Type"] else: header = ["Package", "Version"] data = [] if any(dist_is_editable(x) for x in pkgs): header.append("Location") for proj in pkgs: # if we're working on the 'outdated' list, separate out the # latest_version and type row = [proj.project_name, proj.version] if running_outdated: row.append(proj.latest_version) row.append(proj.latest_filetype) if dist_is_editable(proj): row.append(proj.location) data.append(row) return data, header def format_for_json(packages, options): data = [] for dist in packages: info = { 'name': dist.project_name, 'version': six.text_type(dist.version), } if options.outdated: info['latest_version'] = six.text_type(dist.latest_version) info['latest_filetype'] = dist.latest_filetype data.append(info) return json.dumps(data) PKōe[ S$show.pynu[from __future__ import absolute_import from email.parser import FeedParser import logging import os from pip.basecommand import Command from pip.status_codes import SUCCESS, ERROR from pip._vendor import pkg_resources from pip._vendor.packaging.utils import canonicalize_name logger = logging.getLogger(__name__) class ShowCommand(Command): """Show information about one or more installed packages.""" name = 'show' usage = """ %prog [options] ...""" summary = 'Show information about installed packages.' def __init__(self, *args, **kw): super(ShowCommand, self).__init__(*args, **kw) self.cmd_opts.add_option( '-f', '--files', dest='files', action='store_true', default=False, help='Show the full list of installed files for each package.') self.parser.insert_option_group(0, self.cmd_opts) def run(self, options, args): if not args: logger.warning('ERROR: Please provide a package name or names.') return ERROR query = args results = search_packages_info(query) if not print_results( results, list_files=options.files, verbose=options.verbose): return ERROR return SUCCESS def search_packages_info(query): """ Gather details from installed distributions. Print distribution name, version, location, and installed files. Installed files requires a pip generated 'installed-files.txt' in the distributions '.egg-info' directory. """ installed = {} for p in pkg_resources.working_set: installed[canonicalize_name(p.project_name)] = p query_names = [canonicalize_name(name) for name in query] for dist in [installed[pkg] for pkg in query_names if pkg in installed]: package = { 'name': dist.project_name, 'version': dist.version, 'location': dist.location, 'requires': [dep.project_name for dep in dist.requires()], } file_list = None metadata = None if isinstance(dist, pkg_resources.DistInfoDistribution): # RECORDs should be part of .dist-info metadatas if dist.has_metadata('RECORD'): lines = dist.get_metadata_lines('RECORD') paths = [l.split(',')[0] for l in lines] paths = [os.path.join(dist.location, p) for p in paths] file_list = [os.path.relpath(p, dist.location) for p in paths] if dist.has_metadata('METADATA'): metadata = dist.get_metadata('METADATA') else: # Otherwise use pip's log for .egg-info's if dist.has_metadata('installed-files.txt'): paths = dist.get_metadata_lines('installed-files.txt') paths = [os.path.join(dist.egg_info, p) for p in paths] file_list = [os.path.relpath(p, dist.location) for p in paths] if dist.has_metadata('PKG-INFO'): metadata = dist.get_metadata('PKG-INFO') if dist.has_metadata('entry_points.txt'): entry_points = dist.get_metadata_lines('entry_points.txt') package['entry_points'] = entry_points if dist.has_metadata('INSTALLER'): for line in dist.get_metadata_lines('INSTALLER'): if line.strip(): package['installer'] = line.strip() break # @todo: Should pkg_resources.Distribution have a # `get_pkg_info` method? feed_parser = FeedParser() feed_parser.feed(metadata) pkg_info_dict = feed_parser.close() for key in ('metadata-version', 'summary', 'home-page', 'author', 'author-email', 'license'): package[key] = pkg_info_dict.get(key) # It looks like FeedParser cannot deal with repeated headers classifiers = [] for line in metadata.splitlines(): if line.startswith('Classifier: '): classifiers.append(line[len('Classifier: '):]) package['classifiers'] = classifiers if file_list: package['files'] = sorted(file_list) yield package def print_results(distributions, list_files=False, verbose=False): """ Print the informations from installed distributions found. """ results_printed = False for i, dist in enumerate(distributions): results_printed = True if i > 0: logger.info("---") logger.info("Name: %s", dist.get('name', '')) logger.info("Version: %s", dist.get('version', '')) logger.info("Summary: %s", dist.get('summary', '')) logger.info("Home-page: %s", dist.get('home-page', '')) logger.info("Author: %s", dist.get('author', '')) logger.info("Author-email: %s", dist.get('author-email', '')) logger.info("License: %s", dist.get('license', '')) logger.info("Location: %s", dist.get('location', '')) logger.info("Requires: %s", ', '.join(dist.get('requires', []))) if verbose: logger.info("Metadata-Version: %s", dist.get('metadata-version', '')) logger.info("Installer: %s", dist.get('installer', '')) logger.info("Classifiers:") for classifier in dist.get('classifiers', []): logger.info(" %s", classifier) logger.info("Entry-points:") for entry in dist.get('entry_points', []): logger.info(" %s", entry.strip()) if list_files: logger.info("Files:") for line in dist.get('files', []): logger.info(" %s", line.strip()) if "files" not in dist: logger.info("Cannot locate installed-files.txt") return results_printed PKōe[xHHhelp.pyonu[ abc@@sPddlmZddlmZmZddlmZdefdYZdS(i(tabsolute_import(tCommandtSUCCESS(t CommandErrort HelpCommandcB@s)eZdZdZdZdZdZRS(sShow help for commandsthelps %prog sShow help for commands.c C@sddlm}m}y|d}Wntk r8tSX||kr||}d|g}|rx|jd|ntdj|n||}|jj tS(Ni(t commands_dicttget_similar_commandssunknown command "%s"smaybe you meant "%s"s - ( t pip.commandsRRt IndexErrorRtappendRtjointparsert print_help( tselftoptionstargsRRtcmd_nametguesstmsgtcommand((s5/usr/lib/python2.7/site-packages/pip/commands/help.pytruns      (t__name__t __module__t__doc__tnametusagetsummaryR(((s5/usr/lib/python2.7/site-packages/pip/commands/help.pyRs N(t __future__Rtpip.basecommandRRtpip.exceptionsRR(((s5/usr/lib/python2.7/site-packages/pip/commands/help.pytsPKōe[{hL L __init__.pycnu[ abc @@sdZddlmZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZi eej6eej6e e j6e e j6eej6eej6eej6eej6eej6eej6eej6eej6Zeeeeeeeeee ee g ZedZdZ dZ!dS(s% Package containing all pip commands i(tabsolute_import(tCompletionCommand(tDownloadCommand(t FreezeCommand(t HashCommand(t HelpCommand(t ListCommand(t CheckCommand(t SearchCommand(t ShowCommand(tInstallCommand(tUninstallCommand(t WheelCommandcc@sM|rttt}n tj}x"|D]\}}||jfVq+WdS(s5Yields sorted (command name, command summary) tuples.N(t_sort_commandst commands_dicttcommands_ordertitemstsummary(torderedtcmditemstnamet command_class((s9/usr/lib/python2.7/site-packages/pip/commands/__init__.pyt get_summaries4s  cC@sGddlm}|j}||tj}|r?|dStSdS(sCommand name auto-correct.i(tget_close_matchesN(tdifflibRtlowerRtkeystFalse(RRtclose_commands((s9/usr/lib/python2.7/site-packages/pip/commands/__init__.pytget_similar_commands@s  c@s%fd}t|jd|S(Nc@s.yj|dSWntk r)dSXdS(Nii(tindext ValueError(tkey(torder(s9/usr/lib/python2.7/site-packages/pip/commands/__init__.pytkeyfnOs R (tsortedR(tcmddictR!R"((R!s9/usr/lib/python2.7/site-packages/pip/commands/__init__.pyR NsN("t__doc__t __future__Rtpip.commands.completionRtpip.commands.downloadRtpip.commands.freezeRtpip.commands.hashRtpip.commands.helpRtpip.commands.listRtpip.commands.checkRtpip.commands.searchRtpip.commands.showR tpip.commands.installR tpip.commands.uninstallR tpip.commands.wheelR RRRtTrueRRR (((s9/usr/lib/python2.7/site-packages/pip/commands/__init__.pytsR              PKōe[P wheel.pyonu[ abc@@sddlmZddlZddlZddlZddlmZddlmZm Z ddl m Z ddl m Z ddlmZddlmZdd lmZmZdd lmZejeZd efd YZdS( i(tabsolute_importN(tRequirementCommand(t CommandErrortPreviousBuildDirError(tRequirementSet(timport_or_raise(tBuildDirectory(tRemovedInPip10Warning(t WheelCachet WheelBuilder(t cmdoptionst WheelCommandcB@s;eZdZdZdZdZdZdZdZRS(s Build Wheel archives for your requirements and dependencies. Wheel is a built-package format, and offers the advantage of not recompiling your software during every install. For more details, see the wheel docs: https://wheel.readthedocs.io/en/latest/ Requirements: setuptools>=0.8, and wheel. 'pip wheel' uses the bdist_wheel setuptools extension from the wheel package to build individual wheels. twheels %prog [options] ... %prog [options] -r ... %prog [options] [-e] ... %prog [options] [-e] ... %prog [options] ...s$Build wheels from your requirements.c O@stt|j|||j}|jdddddddtjdd |jtj|jtj |jtj |jtj |jd dd dd d ddd|jtj |jtj |jtj|jtj|jtj|jtj|jtj|jdddd ddd dd|jdd ddtdd|jtj|jtjtjtj|j}|jjd||jjd|dS(Ns-ws --wheel-dirtdestt wheel_dirtmetavartdirtdefaultthelpsLBuild wheels into , where the default is the current working directory.s--build-optiont build_optionstoptionstactiontappends9Extra arguments to be supplied to 'setup.py bdist_wheel'.s--global-optiontglobal_optionssZExtra global options to be supplied to the setup.py call before the 'bdist_wheel' command.s--pret store_truesYInclude pre-release and development versions. By default, pip only finds stable versions.i(tsuperR t__init__tcmd_optst add_optiontostcurdirR t use_wheelt no_use_wheelt no_binaryt only_binaryt constraintsteditablet requirementstsrctignore_requires_pythontno_depst build_dirtFalsetno_cleantrequire_hashestmake_option_groupt index_grouptparsertinsert_option_group(tselftargstkwRt index_opts((s6/usr/lib/python2.7/site-packages/pip/commands/wheel.pyR.sV    cC@sDtdtdtdtd}t|ds@tdndS(Nswheel.bdist_wheelsM'pip wheel' requires the 'wheel' package. To fix this, run: pip install wheelt pkg_resourcessp'pip wheel' requires setuptools >= 0.8 for dist-info support. To fix this, run: pip install --upgrade setuptoolstDistInfoDistribution(RRthasattr(R1R5((s6/usr/lib/python2.7/site-packages/pip/commands/wheel.pytcheck_required_packageshs c C@s||jtj|tj||jr@tjdtn|jr\tjdtn|j rxtjdtn|j g|j }|j rt jddj|g}n|jrtjj|j|_ntjj|j|_|j|u}|j||}|jp%|j }t|j|j}t|jd|}td|d|jd dd |jd td |j d |j!d|d|d|j"d|j# } |j$| |||||j%|| j&sdSzpyLt'| |d|j(pgd|j)pg} | j*s0t+dnWnt,k rPt|_nXWd|jsk| j-nXWdQXWdQXdS(Ns--allow-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.s--allow-all-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.s--allow-unverified has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.sIgnoring indexes: %st,tdeleteR)tsrc_dirt download_dirtignore_dependenciestignore_installedR'tisolatedtsessiont wheel_cachetwheel_download_dirR,RRs"Failed to build one or more wheels(.R8R tresolve_wheel_no_use_binarytcheck_install_build_globaltallow_externaltwarningstwarnRtallow_all_externaltallow_unverifiedt index_urltextra_index_urlstno_indextloggertdebugtjoinR)RtpathtabspathR;t_build_sessiont_build_package_finderR+Rt cache_dirtformat_controlRRtNoneR=tTrueR't isolated_modeRR,tpopulate_requirement_settnamethas_requirementsR RRtbuildRRt cleanup_files( R1RR2t index_urlsR@tfindert build_deleteRAR)trequirement_settwb((s6/usr/lib/python2.7/site-packages/pip/commands/wheel.pytrun|sx                          ( t__name__t __module__t__doc__RZtusagetsummaryRR8Rc(((s6/usr/lib/python2.7/site-packages/pip/commands/wheel.pyR s  : (t __future__RtloggingRRFtpip.basecommandRtpip.exceptionsRRtpip.reqRt pip.utilsRtpip.utils.buildRtpip.utils.deprecationRt pip.wheelRR tpipR t getLoggerRdRMR (((s6/usr/lib/python2.7/site-packages/pip/commands/wheel.pyts   PKōe[ޕ\ download.pycnu[ abc@@sddlmZddlZddlZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZmZdd lmZdd lmZejeZd e fd YZdS( i(tabsolute_importN(t CommandError(t FormatControl(tRequirementSet(tRequirementCommand(t cmdoptions(t ensure_dirtnormalize_path(tBuildDirectory(tcheck_path_ownertDownloadCommandcB@s2eZdZdZdZdZdZdZRS(sL Download packages from: - PyPI (and other indexes) using requirement specifiers. - VCS project urls. - Local project directories. - Local or remote source archives. pip also supports downloading from "requirements files", which provide an easy way to specify a whole environment to be downloaded. tdownloads% %prog [options] [package-index-options] ... %prog [options] -r [package-index-options] ... %prog [options] [-e] ... %prog [options] [-e] ... %prog [options] ...sDownload packages.c O@s tt|j|||j}|jtj|jtj|jtj|jtj |jtj |jtj |jtj |jtj |jtj|jtj|jtj|jtj|jddddddddd tjd d |jd dd dd d dd d|jdddddd dd d|jdddddd dd d|jdddddd dd dtjtj|j}|jjd||jjd|dS(Ns-ds--dests--destination-dirs--destination-directorytdestt download_dirtmetavartdirtdefaultthelpsDownload packages into .s --platformtplatforms`Only download wheels compatible with . Defaults to the platform of the running system.s--python-versiontpython_versions&Only download wheels compatible with Python interpreter version . If not specified, then the current system interpreter minor version is used. A major version (e.g. '2') can be specified to match all minor revs of that major version. A minor version (e.g. '34') can also be specified.s--implementationtimplementationsOnly download wheels compatible with Python implementation , e.g. 'pp', 'jy', 'cp', or 'ip'. If not specified, then the current interpreter implementation is used. Use 'py' to force implementation-agnostic wheels.s--abitabisOnly download wheels compatible with Python abi , e.g. 'pypy_41'. If not specified, then the current interpreter abi tag is used. Generally you will need to specify --implementation, --platform, and --python-version when using this option.i(tsuperR t__init__tcmd_optst add_optionRt constraintsteditablet requirementst build_dirtno_depstglobal_optionst no_binaryt only_binarytsrctpretno_cleantrequire_hashestostcurdirtNonetmake_option_grouptnon_deprecated_index_grouptparsertinsert_option_group(tselftargstkwRt index_opts((s9/usr/lib/python2.7/site-packages/pip/commands/download.pyR*sb   c C@sZt|_|jr!|jg}nd}t|j|j|j|jg}tt t dg}|r|j |krt dnt j j|j|_t|j|_t|j|j|}|jd|d|d|jd|d|jd|j}|jp|j }|jrWt|j rWtjd |jd|_nt|jd |} td | d |jd |jdtd|jd|d|jd|j} |j | |||||j!d| j"sdS| j#|dj$g| j%D]} | j!^q} | r4tj&d| n|jsJ| j'nWdQXWdQX| S(Ns:all:s--only-binary=:all: must be set and --no-binary must not be set (or must be set to :none:) when restricting platform and interpreter constraints using --python-version, --platform, --abi, or --implementation.toptionstsessionRtpython_versionsRRsThe directory '%s' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.tdeleteRtsrc_dirR tignore_installedtignore_dependenciestisolatedR%t sSuccessfully downloaded %s((tTrueR6RR(tanyRRRRtsettformat_controlRR&tpathtabspathR5RR Rt_build_sessiont_build_package_finderR$Rt cache_dirR tloggertwarningRRR7t isolated_modeR%tpopulate_requirement_settnamethas_requirementst prepare_filestjointsuccessfully_downloadedtinfot cleanup_files( R-R1R.R3tdist_restriction_sett binary_onlyR2tfindert build_deleteRtrequirement_settreqt downloaded((s9/usr/lib/python2.7/site-packages/pip/commands/download.pytrun{sx                   "  (t__name__t __module__t__doc__RGtusagetsummaryRRU(((s9/usr/lib/python2.7/site-packages/pip/commands/download.pyR s   Q(t __future__RtloggingR&tpip.exceptionsRt pip.indexRtpip.reqRtpip.basecommandRtpipRt pip.utilsRRtpip.utils.buildRtpip.utils.filesystemR t getLoggerRVRCR (((s9/usr/lib/python2.7/site-packages/pip/commands/download.pyts  PKōe[a;_ffcheck.pynu[import logging from pip.basecommand import Command from pip.operations.check import check_requirements from pip.utils import get_installed_distributions logger = logging.getLogger(__name__) class CheckCommand(Command): """Verify installed packages have compatible dependencies.""" name = 'check' usage = """ %prog [options]""" summary = 'Verify installed packages have compatible dependencies.' def run(self, options, args): dists = get_installed_distributions(local_only=False, skip=()) missing_reqs_dict, incompatible_reqs_dict = check_requirements(dists) for dist in dists: key = '%s==%s' % (dist.project_name, dist.version) for requirement in missing_reqs_dict.get(key, []): logger.info( "%s %s requires %s, which is not installed.", dist.project_name, dist.version, requirement.project_name) for requirement, actual in incompatible_reqs_dict.get(key, []): logger.info( "%s %s has requirement %s, but you have %s %s.", dist.project_name, dist.version, requirement, actual.project_name, actual.version) if missing_reqs_dict or incompatible_reqs_dict: return 1 else: logger.info("No broken requirements found.") PKōe[5c c hash.pycnu[ abc@@sddlmZddlZddlZddlZddlmZddlmZddl m Z ddl m Z m Z ejeZdefdYZd ZdS( i(tabsolute_importN(tCommand(tERROR(t read_chunks(t FAVORITE_HASHt STRONG_HASHESt HashCommandcB@s2eZdZdZdZdZdZdZRS(s Compute a hash of a local package archive. These can be used with --hash in a requirements file to do repeatable installs. thashs%prog [options] ...s#Compute hashes of package archives.cO@sqtt|j|||jjdddddtdddtd d d jt|jj d |jdS( Ns-as --algorithmtdestt algorithmtchoicestactiontstoretdefaultthelps$The hash algorithm to use: one of %ss, i( tsuperRt__init__tcmd_optst add_optionRRtjointparsertinsert_option_group(tselftargstkw((s5/usr/lib/python2.7/site-packages/pip/commands/hash.pyRs  cC@sZ|s|jjtjtS|j}x-|D]%}tjd||t||q-WdS(Ns%s: --hash=%s:%s( Rt print_usagetsyststderrRR tloggertinfot _hash_of_file(RtoptionsRR tpath((s5/usr/lib/python2.7/site-packages/pip/commands/hash.pytrun(s   (t__name__t __module__t__doc__tnametusagetsummaryRR!(((s5/usr/lib/python2.7/site-packages/pip/commands/hash.pyRs  cC@sUt|d:}tj|}x!t|D]}|j|q.WWdQX|jS(s!Return the hash digest of a file.trbN(topenthashlibtnewRtupdatet hexdigest(R R tarchiveRtchunk((s5/usr/lib/python2.7/site-packages/pip/commands/hash.pyR3s (t __future__RR*tloggingRtpip.basecommandRtpip.status_codesRt pip.utilsRtpip.utils.hashesRRt getLoggerR"RRR(((s5/usr/lib/python2.7/site-packages/pip/commands/hash.pyts   #PKōe[1WN N completion.pycnu[ abc@@sgddlmZddlZddlmZdZidd6dd6d d 6Zd efd YZdS( i(tabsolute_importN(tCommandsJ # pip %(shell)s completion start%(script)s# pip %(shell)s completion end s _pip_completion() { COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]}" \ COMP_CWORD=$COMP_CWORD \ PIP_AUTO_COMPLETE=1 $1 ) ) } complete -o default -F _pip_completion pip tbashs function _pip_completion { local words cword read -Ac words read -cn cword reply=( $( COMP_WORDS="$words[*]" \ COMP_CWORD=$(( cword-1 )) \ PIP_AUTO_COMPLETE=1 $words[1] ) ) } compctl -K _pip_completion pip tzshs function __fish_complete_pip set -lx COMP_WORDS (commandline -o) "" set -lx COMP_CWORD (math (contains -i -- (commandline -t) $COMP_WORDS)-1) set -lx PIP_AUTO_COMPLETE 1 string split \ -- (eval $COMP_WORDS[1]) end complete -fa "(__fish_complete_pip)" -c pip tfishtCompletionCommandcB@s,eZdZdZdZdZdZRS(s3A helper command to be used for command completion.t completions-A helper command used for command completion.c O@stt|j|||j}|jddddddddd d |jd d dddd ddd d|jddddddddd d|jjd|dS(Ns--bashs-btactiont store_consttconstRtdesttshellthelpsEmit completion code for bashs--zshs-zRsEmit completion code for zshs--fishs-fRsEmit completion code for fishi(tsuperRt__init__tcmd_optst add_optiontparsertinsert_option_group(tselftargstkwR((s;/usr/lib/python2.7/site-packages/pip/commands/completion.pyR-s*    cC@stj}gt|D]}d|^q}|j|krptj|jd}ti|d6|jd6GHntjjddj |dS(s-Prints the completion code of the given shells--ttscriptR sERROR: You must pass %s s or N( tCOMPLETION_SCRIPTStkeystsortedR tgettBASE_COMPLETIONtsyststderrtwritetjoin(RtoptionsRtshellsR t shell_optionsR((s;/usr/lib/python2.7/site-packages/pip/commands/completion.pytrunGs # (t__name__t __module__t__doc__tnametsummaryRR$(((s;/usr/lib/python2.7/site-packages/pip/commands/completion.pyR(s  (t __future__RRtpip.basecommandRRRR(((s;/usr/lib/python2.7/site-packages/pip/commands/completion.pyts    PKōe[5c c hash.pyonu[ abc@@sddlmZddlZddlZddlZddlmZddlmZddl m Z ddl m Z m Z ejeZdefdYZd ZdS( i(tabsolute_importN(tCommand(tERROR(t read_chunks(t FAVORITE_HASHt STRONG_HASHESt HashCommandcB@s2eZdZdZdZdZdZdZRS(s Compute a hash of a local package archive. These can be used with --hash in a requirements file to do repeatable installs. thashs%prog [options] ...s#Compute hashes of package archives.cO@sqtt|j|||jjdddddtdddtd d d jt|jj d |jdS( Ns-as --algorithmtdestt algorithmtchoicestactiontstoretdefaultthelps$The hash algorithm to use: one of %ss, i( tsuperRt__init__tcmd_optst add_optionRRtjointparsertinsert_option_group(tselftargstkw((s5/usr/lib/python2.7/site-packages/pip/commands/hash.pyRs  cC@sZ|s|jjtjtS|j}x-|D]%}tjd||t||q-WdS(Ns%s: --hash=%s:%s( Rt print_usagetsyststderrRR tloggertinfot _hash_of_file(RtoptionsRR tpath((s5/usr/lib/python2.7/site-packages/pip/commands/hash.pytrun(s   (t__name__t __module__t__doc__tnametusagetsummaryRR!(((s5/usr/lib/python2.7/site-packages/pip/commands/hash.pyRs  cC@sUt|d:}tj|}x!t|D]}|j|q.WWdQX|jS(s!Return the hash digest of a file.trbN(topenthashlibtnewRtupdatet hexdigest(R R tarchiveRtchunk((s5/usr/lib/python2.7/site-packages/pip/commands/hash.pyR3s (t __future__RR*tloggingRtpip.basecommandRtpip.status_codesRt pip.utilsRtpip.utils.hashesRRt getLoggerR"RRR(((s5/usr/lib/python2.7/site-packages/pip/commands/hash.pyts   #PKōe[ download.pynu[from __future__ import absolute_import import logging import os from pip.exceptions import CommandError from pip.index import FormatControl from pip.req import RequirementSet from pip.basecommand import RequirementCommand from pip import cmdoptions from pip.utils import ensure_dir, normalize_path from pip.utils.build import BuildDirectory from pip.utils.filesystem import check_path_owner logger = logging.getLogger(__name__) class DownloadCommand(RequirementCommand): """ Download packages from: - PyPI (and other indexes) using requirement specifiers. - VCS project urls. - Local project directories. - Local or remote source archives. pip also supports downloading from "requirements files", which provide an easy way to specify a whole environment to be downloaded. """ name = 'download' usage = """ %prog [options] [package-index-options] ... %prog [options] -r [package-index-options] ... %prog [options] [-e] ... %prog [options] [-e] ... %prog [options] ...""" summary = 'Download packages.' def __init__(self, *args, **kw): super(DownloadCommand, self).__init__(*args, **kw) cmd_opts = self.cmd_opts cmd_opts.add_option(cmdoptions.constraints()) cmd_opts.add_option(cmdoptions.editable()) cmd_opts.add_option(cmdoptions.requirements()) cmd_opts.add_option(cmdoptions.build_dir()) cmd_opts.add_option(cmdoptions.no_deps()) cmd_opts.add_option(cmdoptions.global_options()) cmd_opts.add_option(cmdoptions.no_binary()) cmd_opts.add_option(cmdoptions.only_binary()) cmd_opts.add_option(cmdoptions.src()) cmd_opts.add_option(cmdoptions.pre()) cmd_opts.add_option(cmdoptions.no_clean()) cmd_opts.add_option(cmdoptions.require_hashes()) cmd_opts.add_option( '-d', '--dest', '--destination-dir', '--destination-directory', dest='download_dir', metavar='dir', default=os.curdir, help=("Download packages into ."), ) cmd_opts.add_option( '--platform', dest='platform', metavar='platform', default=None, help=("Only download wheels compatible with . " "Defaults to the platform of the running system."), ) cmd_opts.add_option( '--python-version', dest='python_version', metavar='python_version', default=None, help=("Only download wheels compatible with Python " "interpreter version . If not specified, then the " "current system interpreter minor version is used. A major " "version (e.g. '2') can be specified to match all " "minor revs of that major version. A minor version " "(e.g. '34') can also be specified."), ) cmd_opts.add_option( '--implementation', dest='implementation', metavar='implementation', default=None, help=("Only download wheels compatible with Python " "implementation , e.g. 'pp', 'jy', 'cp', " " or 'ip'. If not specified, then the current " "interpreter implementation is used. Use 'py' to force " "implementation-agnostic wheels."), ) cmd_opts.add_option( '--abi', dest='abi', metavar='abi', default=None, help=("Only download wheels compatible with Python " "abi , e.g. 'pypy_41'. If not specified, then the " "current interpreter abi tag is used. Generally " "you will need to specify --implementation, " "--platform, and --python-version when using " "this option."), ) index_opts = cmdoptions.make_option_group( cmdoptions.non_deprecated_index_group, self.parser, ) self.parser.insert_option_group(0, index_opts) self.parser.insert_option_group(0, cmd_opts) def run(self, options, args): options.ignore_installed = True if options.python_version: python_versions = [options.python_version] else: python_versions = None dist_restriction_set = any([ options.python_version, options.platform, options.abi, options.implementation, ]) binary_only = FormatControl(set(), set([':all:'])) if dist_restriction_set and options.format_control != binary_only: raise CommandError( "--only-binary=:all: must be set and --no-binary must not " "be set (or must be set to :none:) when restricting platform " "and interpreter constraints using --python-version, " "--platform, --abi, or --implementation." ) options.src_dir = os.path.abspath(options.src_dir) options.download_dir = normalize_path(options.download_dir) ensure_dir(options.download_dir) with self._build_session(options) as session: finder = self._build_package_finder( options=options, session=session, platform=options.platform, python_versions=python_versions, abi=options.abi, implementation=options.implementation, ) build_delete = (not (options.no_clean or options.build_dir)) if options.cache_dir and not check_path_owner(options.cache_dir): logger.warning( "The directory '%s' or its parent directory is not owned " "by the current user and caching wheels has been " "disabled. check the permissions and owner of that " "directory. If executing pip with sudo, you may want " "sudo's -H flag.", options.cache_dir, ) options.cache_dir = None with BuildDirectory(options.build_dir, delete=build_delete) as build_dir: requirement_set = RequirementSet( build_dir=build_dir, src_dir=options.src_dir, download_dir=options.download_dir, ignore_installed=True, ignore_dependencies=options.ignore_dependencies, session=session, isolated=options.isolated_mode, require_hashes=options.require_hashes ) self.populate_requirement_set( requirement_set, args, options, finder, session, self.name, None ) if not requirement_set.has_requirements: return requirement_set.prepare_files(finder) downloaded = ' '.join([ req.name for req in requirement_set.successfully_downloaded ]) if downloaded: logger.info( 'Successfully downloaded %s', downloaded ) # Clean up if not options.no_clean: requirement_set.cleanup_files() return requirement_set PKōe[Hssshow.pyonu[ abc@@sddlmZddlmZddlZddlZddlmZddlm Z m Z ddl m Z ddl mZejeZdefd YZd Zeed ZdS( i(tabsolute_import(t FeedParserN(tCommand(tSUCCESStERROR(t pkg_resources(tcanonicalize_namet ShowCommandcB@s2eZdZdZdZdZdZdZRS(s6Show information about one or more installed packages.tshows$ %prog [options] ...s*Show information about installed packages.c O@s^tt|j|||jjdddddddtdd |jjd |jdS( Ns-fs--filestdesttfilestactiont store_truetdefaultthelps7Show the full list of installed files for each package.i(tsuperRt__init__tcmd_optst add_optiontFalsetparsertinsert_option_group(tselftargstkw((s5/usr/lib/python2.7/site-packages/pip/commands/show.pyRs  cC@sO|stjdtS|}t|}t|d|jd|jsKtStS(Ns.ERROR: Please provide a package name or names.t list_filestverbose(tloggertwarningRtsearch_packages_infot print_resultsR RR(RtoptionsRtquerytresults((s5/usr/lib/python2.7/site-packages/pip/commands/show.pytrun"s  (t__name__t __module__t__doc__tnametusagetsummaryRR"(((s5/usr/lib/python2.7/site-packages/pip/commands/show.pyRs  cc@smi}x$tjD]}||t|j %     (t __future__Rt email.parserRtloggingR=tpip.basecommandRtpip.status_codesRRt pip._vendorRtpip._vendor.packaging.utilsRt getLoggerR#RRRRR(((s5/usr/lib/python2.7/site-packages/pip/commands/show.pyts   IPKōe[?D D uninstall.pynu[from __future__ import absolute_import import pip from pip.wheel import WheelCache from pip.req import InstallRequirement, RequirementSet, parse_requirements from pip.basecommand import Command from pip.exceptions import InstallationError class UninstallCommand(Command): """ Uninstall packages. pip is able to uninstall most installed packages. Known exceptions are: - Pure distutils packages installed with ``python setup.py install``, which leave behind no metadata to determine what files were installed. - Script wrappers installed by ``python setup.py develop``. """ name = 'uninstall' usage = """ %prog [options] ... %prog [options] -r ...""" summary = 'Uninstall packages.' def __init__(self, *args, **kw): super(UninstallCommand, self).__init__(*args, **kw) self.cmd_opts.add_option( '-r', '--requirement', dest='requirements', action='append', default=[], metavar='file', help='Uninstall all the packages listed in the given requirements ' 'file. This option can be used multiple times.', ) self.cmd_opts.add_option( '-y', '--yes', dest='yes', action='store_true', help="Don't ask for confirmation of uninstall deletions.") self.parser.insert_option_group(0, self.cmd_opts) def run(self, options, args): with self._build_session(options) as session: format_control = pip.index.FormatControl(set(), set()) wheel_cache = WheelCache(options.cache_dir, format_control) requirement_set = RequirementSet( build_dir=None, src_dir=None, download_dir=None, isolated=options.isolated_mode, session=session, wheel_cache=wheel_cache, ) for name in args: requirement_set.add_requirement( InstallRequirement.from_line( name, isolated=options.isolated_mode, wheel_cache=wheel_cache ) ) for filename in options.requirements: for req in parse_requirements( filename, options=options, session=session, wheel_cache=wheel_cache): requirement_set.add_requirement(req) if not requirement_set.has_requirements: raise InstallationError( 'You must give at least one requirement to %(name)s (see ' '"pip help %(name)s")' % dict(name=self.name) ) requirement_set.uninstall(auto_confirm=options.yes) PKōe[|y y freeze.pycnu[ abc@@sddlmZddlZddlZddlmZddlmZddlm Z ddl m Z d Z d efd YZ dS(i(tabsolute_importN(t stdlib_pkgs(tCommand(tfreeze(t WheelCachetpipt setuptoolst distributetwheelt FreezeCommandcB@s8eZdZdZdZdZdZdZdZRS(sx Output installed packages in requirements format. packages are listed in a case-insensitive sorted order. Rs %prog [options]s1Output installed packages in requirements format.sext://sys.stderrc O@stt|j|||jjdddddddgdd d d |jjd d dddddgddd d|jjdddddddtd d|jjddddddtd d|jjdddddd ddjt|jj d|jdS(Ns-rs --requirementtdestt requirementstactiontappendtdefaulttmetavartfilethelps}Use the order in the given requirements file and its comments when generating output. This option can be used multiple times.s-fs --find-linkst find_linkstURLs<URL for finding packages, which will be added to the output.s-ls--localtlocalt store_truesUIf in a virtualenv that has global access, do not output globally-installed packages.s--usertusers,Only output packages installed in user-site.s--allt freeze_alls,Do not skip these packages in the output: %ss, i( tsuperR t__init__tcmd_optst add_optiontFalsetjointDEV_PKGStparsertinsert_option_group(tselftargstkw((s7/usr/lib/python2.7/site-packages/pip/commands/freeze.pyRsD        cC@stjjtt}t|j|}tt}|jsR|jt nt d|j d|j d|j d|jd|jd|jd|d|}x(t|D]}tjj|d qWdS( Nt requirementRt local_onlyt user_onlyt skip_regextisolatedt wheel_cachetskips (Rtindext FormatControltsetRt cache_dirRRtupdateRtdictR RRRtskip_requirements_regext isolated_modeRtsyststdouttwrite(R!toptionsR"tformat_controlR)R*t freeze_kwargstline((s7/usr/lib/python2.7/site-packages/pip/commands/freeze.pytrunEs          (sext://sys.stderrsext://sys.stderr( t__name__t __module__t__doc__tnametusagetsummaryt log_streamsRR:(((s7/usr/lib/python2.7/site-packages/pip/commands/freeze.pyR s *(RRRR(t __future__RR3Rt pip.compatRtpip.basecommandRtpip.operations.freezeRt pip.wheelRRR (((s7/usr/lib/python2.7/site-packages/pip/commands/freeze.pyts  PKōe[7s11wheel.pynu[# -*- coding: utf-8 -*- from __future__ import absolute_import import logging import os import warnings from pip.basecommand import RequirementCommand from pip.exceptions import CommandError, PreviousBuildDirError from pip.req import RequirementSet from pip.utils import import_or_raise from pip.utils.build import BuildDirectory from pip.utils.deprecation import RemovedInPip10Warning from pip.wheel import WheelCache, WheelBuilder from pip import cmdoptions logger = logging.getLogger(__name__) class WheelCommand(RequirementCommand): """ Build Wheel archives for your requirements and dependencies. Wheel is a built-package format, and offers the advantage of not recompiling your software during every install. For more details, see the wheel docs: https://wheel.readthedocs.io/en/latest/ Requirements: setuptools>=0.8, and wheel. 'pip wheel' uses the bdist_wheel setuptools extension from the wheel package to build individual wheels. """ name = 'wheel' usage = """ %prog [options] ... %prog [options] -r ... %prog [options] [-e] ... %prog [options] [-e] ... %prog [options] ...""" summary = 'Build wheels from your requirements.' def __init__(self, *args, **kw): super(WheelCommand, self).__init__(*args, **kw) cmd_opts = self.cmd_opts cmd_opts.add_option( '-w', '--wheel-dir', dest='wheel_dir', metavar='dir', default=os.curdir, help=("Build wheels into , where the default is the " "current working directory."), ) cmd_opts.add_option(cmdoptions.use_wheel()) cmd_opts.add_option(cmdoptions.no_use_wheel()) cmd_opts.add_option(cmdoptions.no_binary()) cmd_opts.add_option(cmdoptions.only_binary()) cmd_opts.add_option( '--build-option', dest='build_options', metavar='options', action='append', help="Extra arguments to be supplied to 'setup.py bdist_wheel'.") cmd_opts.add_option(cmdoptions.constraints()) cmd_opts.add_option(cmdoptions.editable()) cmd_opts.add_option(cmdoptions.requirements()) cmd_opts.add_option(cmdoptions.src()) cmd_opts.add_option(cmdoptions.ignore_requires_python()) cmd_opts.add_option(cmdoptions.no_deps()) cmd_opts.add_option(cmdoptions.build_dir()) cmd_opts.add_option( '--global-option', dest='global_options', action='append', metavar='options', help="Extra global options to be supplied to the setup.py " "call before the 'bdist_wheel' command.") cmd_opts.add_option( '--pre', action='store_true', default=False, help=("Include pre-release and development versions. By default, " "pip only finds stable versions."), ) cmd_opts.add_option(cmdoptions.no_clean()) cmd_opts.add_option(cmdoptions.require_hashes()) index_opts = cmdoptions.make_option_group( cmdoptions.index_group, self.parser, ) self.parser.insert_option_group(0, index_opts) self.parser.insert_option_group(0, cmd_opts) def check_required_packages(self): import_or_raise( 'wheel.bdist_wheel', CommandError, "'pip wheel' requires the 'wheel' package. To fix this, run: " "pip install wheel" ) pkg_resources = import_or_raise( 'pkg_resources', CommandError, "'pip wheel' requires setuptools >= 0.8 for dist-info support." " To fix this, run: pip install --upgrade setuptools" ) if not hasattr(pkg_resources, 'DistInfoDistribution'): raise CommandError( "'pip wheel' requires setuptools >= 0.8 for dist-info " "support. To fix this, run: pip install --upgrade " "setuptools" ) def run(self, options, args): self.check_required_packages() cmdoptions.resolve_wheel_no_use_binary(options) cmdoptions.check_install_build_global(options) if options.allow_external: warnings.warn( "--allow-external has been deprecated and will be removed in " "the future. Due to changes in the repository protocol, it no " "longer has any effect.", RemovedInPip10Warning, ) if options.allow_all_external: warnings.warn( "--allow-all-external has been deprecated and will be removed " "in the future. Due to changes in the repository protocol, it " "no longer has any effect.", RemovedInPip10Warning, ) if options.allow_unverified: warnings.warn( "--allow-unverified has been deprecated and will be removed " "in the future. Due to changes in the repository protocol, it " "no longer has any effect.", RemovedInPip10Warning, ) index_urls = [options.index_url] + options.extra_index_urls if options.no_index: logger.debug('Ignoring indexes: %s', ','.join(index_urls)) index_urls = [] if options.build_dir: options.build_dir = os.path.abspath(options.build_dir) options.src_dir = os.path.abspath(options.src_dir) with self._build_session(options) as session: finder = self._build_package_finder(options, session) build_delete = (not (options.no_clean or options.build_dir)) wheel_cache = WheelCache(options.cache_dir, options.format_control) with BuildDirectory(options.build_dir, delete=build_delete) as build_dir: requirement_set = RequirementSet( build_dir=build_dir, src_dir=options.src_dir, download_dir=None, ignore_dependencies=options.ignore_dependencies, ignore_installed=True, ignore_requires_python=options.ignore_requires_python, isolated=options.isolated_mode, session=session, wheel_cache=wheel_cache, wheel_download_dir=options.wheel_dir, require_hashes=options.require_hashes ) self.populate_requirement_set( requirement_set, args, options, finder, session, self.name, wheel_cache ) if not requirement_set.has_requirements: return try: # build wheels wb = WheelBuilder( requirement_set, finder, build_options=options.build_options or [], global_options=options.global_options or [], ) if not wb.build(): raise CommandError( "Failed to build one or more wheels" ) except PreviousBuildDirError: options.no_clean = True raise finally: if not options.no_clean: requirement_set.cleanup_files() PKōe[bO-V+V+list.pyonu[ abc@@s,ddlmZddlZddlZddlZyddlmZWn!ek rkddlmZnXddl m Z ddl m Z ddl mZddlmZdd lmZmZdd lmZdd lmZmZejeZd e fd YZdZdZdZdS(i(tabsolute_importN(t zip_longest(t izip_longest(tsix(tCommand(t CommandError(t PackageFinder(tget_installed_distributionstdist_is_editable(tRemovedInPip10Warning(tmake_option_groupt index_groupt ListCommandcB@seZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZRS(st List installed packages, including editables. Packages are listed in a case-insensitive sorted order. tlists %prog [options]sList installed packages.c O@sqtt|j|||j}|jdddddtdd|jdd dddtdd |jd d dddtdd |jdddddtdd|jjddddddtdd|jddddtdd|jddddddd$dd|jd dddd!dd"tt|j}|jj d#||jj d#|dS(%Ns-os --outdatedtactiont store_truetdefaultthelpsList outdated packagess-us --uptodatesList uptodate packagess-es --editablesList editable projects.s-ls--localsSIf in a virtualenv that has global access, do not list globally-installed packages.s--usertdesttusers,Only output packages installed in user-site.s--presYInclude pre-release and development versions. By default, pip only finds stable versions.s--formattstoret list_formattchoicestlegacytcolumnstfreezetjsonsJSelect the output format among: legacy (default), columns, freeze or json.s--not-requiredt not_requireds>List packages that are not dependencies of installed packages.i(RRRR( tsuperR t__init__tcmd_optst add_optiontFalseR R tparsertinsert_option_group(tselftargstkwRt index_opts((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyR#s^      c C@s7td|jd|d|jd|jd|jd|S(sK Create a package finder appropriate to this list command. t find_linkst index_urlstallow_all_prereleasest trusted_hoststprocess_dependency_linkstsession(RR'tpreR*R+(R#toptionsR(R,((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyt_build_package_findercs    cC@s)|jrtjdtn|jr8tjdtn|jrTtjdtn|jdkrvtjdtn|jr|j rt dnt d|j d|j d|j}|jr|j||}n|j r|j||}n|jr|j||}n|j||dS( Ns--allow-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.s--allow-all-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.s--allow-unverified has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.sThe default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.s5Options --outdated and --uptodate cannot be combined.t local_onlyt user_onlyteditables_only(tallow_externaltwarningstwarnR tallow_all_externaltallow_unverifiedRtNonetoutdatedtuptodateRRtlocalRteditablet get_outdatedt get_uptodateRtget_not_requiredtoutput_package_listing(R#R.R$tpackages((s5/usr/lib/python2.7/site-packages/pip/commands/list.pytrunps<              cC@s5g|j||D]}|j|jkr|^qS(N(titer_packages_latest_infostlatest_versiontparsed_version(R#RAR.tdist((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyR=scC@s5g|j||D]}|j|jkr|^qS(N(RCRDRE(R#RAR.RF((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyR>sc@sQtx+|D]#}jd|jDqWtfd|DS(Ncs@s|]}|jVqdS(N(tkey(t.0t requirement((s5/usr/lib/python2.7/site-packages/pip/commands/list.pys sc3@s$|]}|jkr|VqdS(N(RG(RHtpkg(tdep_keys(s5/usr/lib/python2.7/site-packages/pip/commands/list.pys s(tsettupdatetrequires(R#RAR.RF((RKs5/usr/lib/python2.7/site-packages/pip/commands/list.pyR?s  !c c@sq|jg|j}|jr>tjddj|g}ng}x6|D].}|jdrK|j|jdqKqKW|j |}|j |||}|j |x|D]}d}|j |j } |jsg| D]} | jjs| ^q} n| sqnt| d|j} | j} | jjrFd}nd}| |_||_|VqWWdQXdS(NsIgnoring indexes: %st,sdependency_links.txttunknownRGtwheeltsdist(t index_urltextra_index_urlstno_indextloggertdebugtjoint has_metadatatextendtget_metadata_linest_build_sessionR/tadd_dependency_linkstfind_all_candidatesRGR-tversiont is_prereleasetmaxt_candidate_sort_keytlocationtis_wheelRDtlatest_filetype( R#RAR.R(tdependency_linksRFR,tfinderttyptall_candidatest candidatetbest_candidatetremote_version((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyRCs:              cC@s>t|r&d|j|j|jfSd|j|jfSdS(Ns %s (%s, %s)s%s (%s)(Rt project_nameR_Rc(R#RF((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyt output_legacys   cC@s d|j||j|jfS(Ns%s - Latest: %s [%s](RnRDRe(R#RF((s5/usr/lib/python2.7/site-packages/pip/commands/list.pytoutput_legacy_latests cC@st|dd}|jdkrR|rRt||\}}|j||n|jdkrx|D]}tjd|j|jqhWnq|jdkrtjt||nIxF|D]>}|j rtj|j |qtj|j |qWdS(NRGcS@s |jjS(N(Rmtlower(RF((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyttRRs%s==%sR( tsortedRtformat_for_columnstoutput_package_listing_columnsRVtinfoRmR_tformat_for_jsonR9RoRn(R#RAR.tdatatheaderRF((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyR@s     cC@st|dkr%|jd|nt|\}}t|dkrq|jddjtd|nx|D]}tj|qxWdS(Niit cS@sd|S(Nt-((tx((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyRq Rr(tlentinsertttabulateRXtmapRVRv(R#RxRyt pkg_stringstsizestval((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyRus( (t__name__t __module__t__doc__tnametusagetsummaryRR/RBR=R>R?RCRnRoR@Ru(((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyR s @ 6    '  cC@sdgtd|D}xK|D]C}gt||D]'\}}t|tt|^q:}q$Wg}xm|D]e}djgt||D]3\}}|dk rt|j|nd^q}|j|qxW||fS(Nics@s|]}t|VqdS(N(R}(RHR|((s5/usr/lib/python2.7/site-packages/pip/commands/list.pys sRzRr(RaRR}tstrRXR8tljusttappend(tvalsRtrowtstctresulttdisplay((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyRs A  IcC@s|j}|r$ddddg}n ddg}g}td|Dr\|jdnxu|D]m}|j|jg}|r|j|j|j|jnt|r|j|jn|j|qcW||fS(s_ Convert the package data into something usable by output_package_listing_columns. tPackagetVersiontLatesttTypecs@s|]}t|VqdS(N(R(RHR|((s5/usr/lib/python2.7/site-packages/pip/commands/list.pys 2stLocation( R9tanyRRmR_RDReRRc(tpkgsR.trunning_outdatedRyRxtprojR((s5/usr/lib/python2.7/site-packages/pip/commands/list.pyRt%s     cC@sg}xm|D]e}i|jd6tj|jd6}|jretj|j|d<|j|ds&      !PKōe[GD9B/B/ install.pycnu[ abc@@sddlmZddlZddlZddlZddlZddlZddlZddlZddlm Z yddl Z Wne k re Z nXddl mZddlmZddlmZmZddlmZmZmZddlmZdd lmZmZdd lmZdd lm Z dd l!m"Z"dd l#m$Z$m%Z%ej&e'Z(defdYZ)dZ*dS(i(tabsolute_importN(tpath(tRequirementSet(tRequirementCommand(tvirtualenv_no_globaltdistutils_scheme(tInstallationErrort CommandErrortPreviousBuildDirError(t cmdoptions(t ensure_dirtget_installed_version(tBuildDirectory(tRemovedInPip10Warning(tcheck_path_owner(t WheelCachet WheelBuildertInstallCommandcB@s2eZdZdZdZdZdZdZRS(sI Install packages from: - PyPI (and other indexes) using requirement specifiers. - VCS project urls. - Local project directories. - Local or remote source archives. pip also supports installing from "requirements files", which provide an easy way to specify a whole environment to be installed. tinstalls% %prog [options] [package-index-options] ... %prog [options] -r [package-index-options] ... %prog [options] [-e] ... %prog [options] [-e] ... %prog [options] ...sInstall packages.c O@sitt|j|||j}|jtj|jtj|jtj|jtj |jdddddddddd |jd d d d dddddddd|jtj |jdddddddd|jddddddddgdd|jddddddd|jdd dd!dddd"|jtj |jtj |jtj|jtj|jd#dd$dddd%|jd&dd'dddd(|jd)dd*dddddd+|jd,dd-dd.dddd/|jd0dd1dddddd2|jd3dddd4dtdd5|jd6dd7dd4dd8|jtj|jtj|jtj|jtj|jtj|jtj|jtjtjtj|j}|jjd9||jjd9|dS(:Ns-ts--targettdestt target_dirtmetavartdirtdefaultthelpsInstall packages into . By default this will not replace existing files/folders in . Use --upgrade to replace existing packages in with new versions.s-ds --downloads--download-dirs--download-directoryt download_dirs`Download packages into instead of installing them, regardless of what's already installed.s-Us --upgradetupgradetactiont store_truesUpgrade all specified packages to the newest available version. The handling of dependencies depends on the upgrade-strategy used.s--upgrade-strategytupgrade_strategyteagertchoicessonly-if-neededs3Determines how dependency upgrading should be handled. "eager" - dependencies are upgraded regardless of whether the currently installed version satisfies the requirements of the upgraded package(s). "only-if-needed" - are upgraded only when they do not satisfy the requirements of the upgraded package(s).s--force-reinstalltforce_reinstallsKWhen upgrading, reinstall all packages even if they are already up-to-date.s-Is--ignore-installedtignore_installeds5Ignore the installed packages (reinstalling instead).s--usert use_user_sitesInstall to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%\Python on Windows. (See the Python documentation for site.USER_BASE for full details.)s--eggtas_eggsInstall packages as eggs, not 'flat', like pip normally does. This option is not about installing *from* eggs. (WARNING: Because this option overrides pip's normal install logic, requirements files may not behave as expected.)s--roott root_paths=Install everything relative to this alternate root directory.s--strip-file-prefixtstrip_file_prefixtprefixs5Strip given prefix from script paths in wheel RECORD.s--prefixt prefix_pathsIInstallation prefix where lib, bin and other top-level folders are placeds --compiletcompilesCompile py files to pycs --no-compilet store_falsesDo not compile py files to pyci(tsuperRt__init__tcmd_optst add_optionR t constraintsteditablet requirementst build_dirtNonetsrctignore_requires_pythontno_depstinstall_optionstglobal_optionstTruet use_wheelt no_use_wheelt no_binaryt only_binarytpretno_cleantrequire_hashestmake_option_groupt index_grouptparsertinsert_option_group(tselftargstkwR,t index_opts((s8/usr/lib/python2.7/site-packages/pip/commands/install.pyR+8s      c+C@s.tj|tj|d}tjdkrc| rctjdtjt j dn|j rt j dtn|jrt j dtn|jrt j dtn|jrt j dtn|jrt j dtt|_n|jrtjj|j|_ntjj|j|_|jp@g}|jr|jrdtd ntr|td n|jd |jd nd}|j r#t|_t!j"}tjj|j |_ tjj#|j rtjj$|j  rtd n|jd|n|j%p/g}|j&|R}|j'||}|j(pe|j } t)|j*|j+} |j*rt,|j* rtjd|j*d|_*nt-|jd| } t.d| d|jd|jd|j/d|j0d|j d|jd|j1d|j2d|j3d|jd|d|d|j4d|j5d | d!|j6} |j7| |||||j8| | j9sdSzy|jst: s|j* r| j;|n+t<| |d"gd#g} | j=d$t|js | j>||d%|j?d&|jd'|j@tAd(|jd)|d%|j?d&|jd|j5}tB| jCd*tDjEd+}g}xe|D]]}|j8}y-tF|j8|}|r|d,|7}nWntGk rnX|j|qWd-jH|}|rMtjId.|qMnAd-jHg| jJD]}|j8^q}|rMtjId/|nWntKk rmt|_(nXWd|j(s| jLnXWdQXWdQX|j r*tM|j g}tNd0d)|d1}tNd0d)|d2}tjj#|r|j|ntjj#|r-||kr-|j|nx|D]}xtjO|D]}tjjH|j |}tjj#|r|j/stjd3|qJntjjP|rtjd4|qJntjj$|rtQjR|qtjS|ntQjTtjjH|||qJWq4WtQjR|n| S(5NcS@s.ttdp-ttdo-tjtjkS(Nt real_prefixt base_prefix(thasattrtsysRIR&(((s8/usr/lib/python2.7/site-packages/pip/commands/install.pytis_venvsispWARNING: Running pip install with root privileges is generally not a good idea. Try `%s install --user` instead.s--egg has been deprecated and will be removed in the future. This flag is mutually exclusive with large parts of pip, and actually using it invalidates pip's ability to manage the installation process.s--allow-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.s--allow-all-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.s--allow-unverified has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.spip install --download has been deprecated and will be removed in the future. Pip now has a download command that should be used instead.sVCan not combine '--user' and '--prefix' as they imply different installation locationssZCan not perform a '--user' install. User site-packages are not visible in this virtualenv.s--users --prefix=s=Target path exists but is not a directory, will not continue.s--home=sThe directory '%s' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.tdeleteR1tsrc_dirRRRR#R!tignore_dependenciesR4R R"Rtsessiont pycompiletisolatedt wheel_cacheR?t build_optionsR7t autobuildingtrootR&R%tuserthometkeytnamet-t sSuccessfully installed %ssSuccessfully downloaded %sttpurelibtplatlibsKTarget directory %s already exists. Specify --upgrade to force replacement.sTarget directory %s already exists and is a link. Pip will not automatically replace links, please remove if replacement is desired.(UR tresolve_wheel_no_use_binarytcheck_install_build_globaltostgetuidtloggertwarningRtbasenameRKtargvR#twarningstwarnR tallow_externaltallow_all_externaltallow_unverifiedRR8R!R1tabspathRNR6R"R'RRRtappendR2RttempfiletmkdtemptexiststisdirR7t_build_sessiont_build_package_finderR>Rt cache_dirtformat_controlRR RRRROR4R R(t isolated_modeR?tpopulate_requirement_setRZthas_requirementstwheelt prepare_filesRtbuildRR$R%tget_lib_location_guessestsortedtsuccessfully_installedtoperatort attrgetterR t Exceptiontjointinfotsuccessfully_downloadedRt cleanup_filesR Rtlistdirtislinktshutiltrmtreetremovetmove(RDtoptionsRERLR6ttemp_target_dirR7RPtfindert build_deleteRSR1trequirement_settwbtpossible_lib_locationstreqstitemstreqtitemtinstalled_versiont installedt downloadedt lib_dir_listt purelib_dirt platlib_dirtlib_dirttarget_item_dir((s8/usr/lib/python2.7/site-packages/pip/commands/install.pytrunsR                                                                (t__name__t __module__t__doc__RZtusagetsummaryR+R(((s8/usr/lib/python2.7/site-packages/pip/commands/install.pyR!s   cO@s$td||}|d|dgS(NR]R^R_(R(REtkwargstscheme((s8/usr/lib/python2.7/site-packages/pip/commands/install.pyR}s(+t __future__RtloggingRRbRoRRhRKRRzt ImportErrorR2tpip.reqRtpip.basecommandRt pip.locationsRRtpip.exceptionsRRRtpipR t pip.utilsR R tpip.utils.buildR tpip.utils.deprecationR tpip.utils.filesystemRt pip.wheelRRt getLoggerRRdRR}(((s8/usr/lib/python2.7/site-packages/pip/commands/install.pyts4         PKōe[Нhelp.pynu[from __future__ import absolute_import from pip.basecommand import Command, SUCCESS from pip.exceptions import CommandError class HelpCommand(Command): """Show help for commands""" name = 'help' usage = """ %prog """ summary = 'Show help for commands.' def run(self, options, args): from pip.commands import commands_dict, get_similar_commands try: # 'pip help' with no args is handled by pip.__init__.parseopt() cmd_name = args[0] # the command we need help for except IndexError: return SUCCESS if cmd_name not in commands_dict: guess = get_similar_commands(cmd_name) msg = ['unknown command "%s"' % cmd_name] if guess: msg.append('maybe you meant "%s"' % guess) raise CommandError(' - '.join(msg)) command = commands_dict[cmd_name]() command.parser.print_help() return SUCCESS PKōe[M`qGqG install.pynu[from __future__ import absolute_import import logging import operator import os import tempfile import shutil import warnings import sys from os import path try: import wheel except ImportError: wheel = None from pip.req import RequirementSet from pip.basecommand import RequirementCommand from pip.locations import virtualenv_no_global, distutils_scheme from pip.exceptions import ( InstallationError, CommandError, PreviousBuildDirError, ) from pip import cmdoptions from pip.utils import ensure_dir, get_installed_version from pip.utils.build import BuildDirectory from pip.utils.deprecation import RemovedInPip10Warning from pip.utils.filesystem import check_path_owner from pip.wheel import WheelCache, WheelBuilder logger = logging.getLogger(__name__) class InstallCommand(RequirementCommand): """ Install packages from: - PyPI (and other indexes) using requirement specifiers. - VCS project urls. - Local project directories. - Local or remote source archives. pip also supports installing from "requirements files", which provide an easy way to specify a whole environment to be installed. """ name = 'install' usage = """ %prog [options] [package-index-options] ... %prog [options] -r [package-index-options] ... %prog [options] [-e] ... %prog [options] [-e] ... %prog [options] ...""" summary = 'Install packages.' def __init__(self, *args, **kw): super(InstallCommand, self).__init__(*args, **kw) cmd_opts = self.cmd_opts cmd_opts.add_option(cmdoptions.constraints()) cmd_opts.add_option(cmdoptions.editable()) cmd_opts.add_option(cmdoptions.requirements()) cmd_opts.add_option(cmdoptions.build_dir()) cmd_opts.add_option( '-t', '--target', dest='target_dir', metavar='dir', default=None, help='Install packages into . ' 'By default this will not replace existing files/folders in ' '. Use --upgrade to replace existing packages in ' 'with new versions.' ) cmd_opts.add_option( '-d', '--download', '--download-dir', '--download-directory', dest='download_dir', metavar='dir', default=None, help=("Download packages into instead of installing them, " "regardless of what's already installed."), ) cmd_opts.add_option(cmdoptions.src()) cmd_opts.add_option( '-U', '--upgrade', dest='upgrade', action='store_true', help='Upgrade all specified packages to the newest available ' 'version. The handling of dependencies depends on the ' 'upgrade-strategy used.' ) cmd_opts.add_option( '--upgrade-strategy', dest='upgrade_strategy', default='eager', choices=['only-if-needed', 'eager'], help='Determines how dependency upgrading should be handled. ' '"eager" - dependencies are upgraded regardless of ' 'whether the currently installed version satisfies the ' 'requirements of the upgraded package(s). ' '"only-if-needed" - are upgraded only when they do not ' 'satisfy the requirements of the upgraded package(s).' ) cmd_opts.add_option( '--force-reinstall', dest='force_reinstall', action='store_true', help='When upgrading, reinstall all packages even if they are ' 'already up-to-date.') cmd_opts.add_option( '-I', '--ignore-installed', dest='ignore_installed', action='store_true', help='Ignore the installed packages (reinstalling instead).') cmd_opts.add_option(cmdoptions.ignore_requires_python()) cmd_opts.add_option(cmdoptions.no_deps()) cmd_opts.add_option(cmdoptions.install_options()) cmd_opts.add_option(cmdoptions.global_options()) cmd_opts.add_option( '--user', dest='use_user_site', action='store_true', help="Install to the Python user install directory for your " "platform. Typically ~/.local/, or %APPDATA%\Python on " "Windows. (See the Python documentation for site.USER_BASE " "for full details.)") cmd_opts.add_option( '--egg', dest='as_egg', action='store_true', help="Install packages as eggs, not 'flat', like pip normally " "does. This option is not about installing *from* eggs. " "(WARNING: Because this option overrides pip's normal install" " logic, requirements files may not behave as expected.)") cmd_opts.add_option( '--root', dest='root_path', metavar='dir', default=None, help="Install everything relative to this alternate root " "directory.") cmd_opts.add_option( '--strip-file-prefix', dest='strip_file_prefix', metavar='prefix', default=None, help="Strip given prefix from script paths in wheel RECORD." ) cmd_opts.add_option( '--prefix', dest='prefix_path', metavar='dir', default=None, help="Installation prefix where lib, bin and other top-level " "folders are placed") cmd_opts.add_option( "--compile", action="store_true", dest="compile", default=True, help="Compile py files to pyc", ) cmd_opts.add_option( "--no-compile", action="store_false", dest="compile", help="Do not compile py files to pyc", ) cmd_opts.add_option(cmdoptions.use_wheel()) cmd_opts.add_option(cmdoptions.no_use_wheel()) cmd_opts.add_option(cmdoptions.no_binary()) cmd_opts.add_option(cmdoptions.only_binary()) cmd_opts.add_option(cmdoptions.pre()) cmd_opts.add_option(cmdoptions.no_clean()) cmd_opts.add_option(cmdoptions.require_hashes()) index_opts = cmdoptions.make_option_group( cmdoptions.index_group, self.parser, ) self.parser.insert_option_group(0, index_opts) self.parser.insert_option_group(0, cmd_opts) def run(self, options, args): cmdoptions.resolve_wheel_no_use_binary(options) cmdoptions.check_install_build_global(options) def is_venv(): return hasattr(sys, 'real_prefix') or \ (hasattr(sys, 'base_prefix') and sys.base_prefix != sys.prefix) # Check whether we have root privileges and aren't in venv/virtualenv if os.getuid() == 0 and not is_venv(): logger.warning( "WARNING: Running pip install with root privileges is " "generally not a good idea. Try `%s install --user` instead." % path.basename(sys.argv[0]) ) if options.as_egg: warnings.warn( "--egg has been deprecated and will be removed in the future. " "This flag is mutually exclusive with large parts of pip, and " "actually using it invalidates pip's ability to manage the " "installation process.", RemovedInPip10Warning, ) if options.allow_external: warnings.warn( "--allow-external has been deprecated and will be removed in " "the future. Due to changes in the repository protocol, it no " "longer has any effect.", RemovedInPip10Warning, ) if options.allow_all_external: warnings.warn( "--allow-all-external has been deprecated and will be removed " "in the future. Due to changes in the repository protocol, it " "no longer has any effect.", RemovedInPip10Warning, ) if options.allow_unverified: warnings.warn( "--allow-unverified has been deprecated and will be removed " "in the future. Due to changes in the repository protocol, it " "no longer has any effect.", RemovedInPip10Warning, ) if options.download_dir: warnings.warn( "pip install --download has been deprecated and will be " "removed in the future. Pip now has a download command that " "should be used instead.", RemovedInPip10Warning, ) options.ignore_installed = True if options.build_dir: options.build_dir = os.path.abspath(options.build_dir) options.src_dir = os.path.abspath(options.src_dir) install_options = options.install_options or [] if options.use_user_site: if options.prefix_path: raise CommandError( "Can not combine '--user' and '--prefix' as they imply " "different installation locations" ) if virtualenv_no_global(): raise InstallationError( "Can not perform a '--user' install. User site-packages " "are not visible in this virtualenv." ) install_options.append('--user') install_options.append('--prefix=') temp_target_dir = None if options.target_dir: options.ignore_installed = True temp_target_dir = tempfile.mkdtemp() options.target_dir = os.path.abspath(options.target_dir) if (os.path.exists(options.target_dir) and not os.path.isdir(options.target_dir)): raise CommandError( "Target path exists but is not a directory, will not " "continue." ) install_options.append('--home=' + temp_target_dir) global_options = options.global_options or [] with self._build_session(options) as session: finder = self._build_package_finder(options, session) build_delete = (not (options.no_clean or options.build_dir)) wheel_cache = WheelCache(options.cache_dir, options.format_control) if options.cache_dir and not check_path_owner(options.cache_dir): logger.warning( "The directory '%s' or its parent directory is not owned " "by the current user and caching wheels has been " "disabled. check the permissions and owner of that " "directory. If executing pip with sudo, you may want " "sudo's -H flag.", options.cache_dir, ) options.cache_dir = None with BuildDirectory(options.build_dir, delete=build_delete) as build_dir: requirement_set = RequirementSet( build_dir=build_dir, src_dir=options.src_dir, download_dir=options.download_dir, upgrade=options.upgrade, upgrade_strategy=options.upgrade_strategy, as_egg=options.as_egg, ignore_installed=options.ignore_installed, ignore_dependencies=options.ignore_dependencies, ignore_requires_python=options.ignore_requires_python, force_reinstall=options.force_reinstall, use_user_site=options.use_user_site, target_dir=temp_target_dir, session=session, pycompile=options.compile, isolated=options.isolated_mode, wheel_cache=wheel_cache, require_hashes=options.require_hashes, ) self.populate_requirement_set( requirement_set, args, options, finder, session, self.name, wheel_cache ) if not requirement_set.has_requirements: return try: if (options.download_dir or not wheel or not options.cache_dir): # on -d don't do complex things like building # wheels, and don't try to build wheels when wheel is # not installed. requirement_set.prepare_files(finder) else: # build wheels before install. wb = WheelBuilder( requirement_set, finder, build_options=[], global_options=[], ) # Ignore the result: a failed wheel will be # installed from the sdist/vcs whatever. wb.build(autobuilding=True) if not options.download_dir: requirement_set.install( install_options, global_options, root=options.root_path, prefix=options.prefix_path, strip_file_prefix=options.strip_file_prefix, ) possible_lib_locations = get_lib_location_guesses( user=options.use_user_site, home=temp_target_dir, root=options.root_path, prefix=options.prefix_path, isolated=options.isolated_mode, ) reqs = sorted( requirement_set.successfully_installed, key=operator.attrgetter('name')) items = [] for req in reqs: item = req.name try: installed_version = get_installed_version( req.name, possible_lib_locations ) if installed_version: item += '-' + installed_version except Exception: pass items.append(item) installed = ' '.join(items) if installed: logger.info('Successfully installed %s', installed) else: downloaded = ' '.join([ req.name for req in requirement_set.successfully_downloaded ]) if downloaded: logger.info( 'Successfully downloaded %s', downloaded ) except PreviousBuildDirError: options.no_clean = True raise finally: # Clean up if not options.no_clean: requirement_set.cleanup_files() if options.target_dir: ensure_dir(options.target_dir) # Checking both purelib and platlib directories for installed # packages to be moved to target directory lib_dir_list = [] purelib_dir = distutils_scheme('', home=temp_target_dir)['purelib'] platlib_dir = distutils_scheme('', home=temp_target_dir)['platlib'] if os.path.exists(purelib_dir): lib_dir_list.append(purelib_dir) if os.path.exists(platlib_dir) and platlib_dir != purelib_dir: lib_dir_list.append(platlib_dir) for lib_dir in lib_dir_list: for item in os.listdir(lib_dir): target_item_dir = os.path.join(options.target_dir, item) if os.path.exists(target_item_dir): if not options.upgrade: logger.warning( 'Target directory %s already exists. Specify ' '--upgrade to force replacement.', target_item_dir ) continue if os.path.islink(target_item_dir): logger.warning( 'Target directory %s already exists and is ' 'a link. Pip will not automatically replace ' 'links, please remove if replacement is ' 'desired.', target_item_dir ) continue if os.path.isdir(target_item_dir): shutil.rmtree(target_item_dir) else: os.remove(target_item_dir) shutil.move( os.path.join(lib_dir, item), target_item_dir ) shutil.rmtree(temp_target_dir) return requirement_set def get_lib_location_guesses(*args, **kwargs): scheme = distutils_scheme('', *args, **kwargs) return [scheme['purelib'], scheme['platlib']] PKōe[P wheel.pycnu[ abc@@sddlmZddlZddlZddlZddlmZddlmZm Z ddl m Z ddl m Z ddlmZddlmZdd lmZmZdd lmZejeZd efd YZdS( i(tabsolute_importN(tRequirementCommand(t CommandErrortPreviousBuildDirError(tRequirementSet(timport_or_raise(tBuildDirectory(tRemovedInPip10Warning(t WheelCachet WheelBuilder(t cmdoptionst WheelCommandcB@s;eZdZdZdZdZdZdZdZRS(s Build Wheel archives for your requirements and dependencies. Wheel is a built-package format, and offers the advantage of not recompiling your software during every install. For more details, see the wheel docs: https://wheel.readthedocs.io/en/latest/ Requirements: setuptools>=0.8, and wheel. 'pip wheel' uses the bdist_wheel setuptools extension from the wheel package to build individual wheels. twheels %prog [options] ... %prog [options] -r ... %prog [options] [-e] ... %prog [options] [-e] ... %prog [options] ...s$Build wheels from your requirements.c O@stt|j|||j}|jdddddddtjdd |jtj|jtj |jtj |jtj |jd dd dd d ddd|jtj |jtj |jtj|jtj|jtj|jtj|jtj|jdddd ddd dd|jdd ddtdd|jtj|jtjtjtj|j}|jjd||jjd|dS(Ns-ws --wheel-dirtdestt wheel_dirtmetavartdirtdefaultthelpsLBuild wheels into , where the default is the current working directory.s--build-optiont build_optionstoptionstactiontappends9Extra arguments to be supplied to 'setup.py bdist_wheel'.s--global-optiontglobal_optionssZExtra global options to be supplied to the setup.py call before the 'bdist_wheel' command.s--pret store_truesYInclude pre-release and development versions. By default, pip only finds stable versions.i(tsuperR t__init__tcmd_optst add_optiontostcurdirR t use_wheelt no_use_wheelt no_binaryt only_binaryt constraintsteditablet requirementstsrctignore_requires_pythontno_depst build_dirtFalsetno_cleantrequire_hashestmake_option_groupt index_grouptparsertinsert_option_group(tselftargstkwRt index_opts((s6/usr/lib/python2.7/site-packages/pip/commands/wheel.pyR.sV    cC@sDtdtdtdtd}t|ds@tdndS(Nswheel.bdist_wheelsM'pip wheel' requires the 'wheel' package. To fix this, run: pip install wheelt pkg_resourcessp'pip wheel' requires setuptools >= 0.8 for dist-info support. To fix this, run: pip install --upgrade setuptoolstDistInfoDistribution(RRthasattr(R1R5((s6/usr/lib/python2.7/site-packages/pip/commands/wheel.pytcheck_required_packageshs c C@s||jtj|tj||jr@tjdtn|jr\tjdtn|j rxtjdtn|j g|j }|j rt jddj|g}n|jrtjj|j|_ntjj|j|_|j|u}|j||}|jp%|j }t|j|j}t|jd|}td|d|jd dd |jd td |j d |j!d|d|d|j"d|j# } |j$| |||||j%|| j&sdSzpyLt'| |d|j(pgd|j)pg} | j*s0t+dnWnt,k rPt|_nXWd|jsk| j-nXWdQXWdQXdS(Ns--allow-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.s--allow-all-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.s--allow-unverified has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.sIgnoring indexes: %st,tdeleteR)tsrc_dirt download_dirtignore_dependenciestignore_installedR'tisolatedtsessiont wheel_cachetwheel_download_dirR,RRs"Failed to build one or more wheels(.R8R tresolve_wheel_no_use_binarytcheck_install_build_globaltallow_externaltwarningstwarnRtallow_all_externaltallow_unverifiedt index_urltextra_index_urlstno_indextloggertdebugtjoinR)RtpathtabspathR;t_build_sessiont_build_package_finderR+Rt cache_dirtformat_controlRRtNoneR=tTrueR't isolated_modeRR,tpopulate_requirement_settnamethas_requirementsR RRtbuildRRt cleanup_files( R1RR2t index_urlsR@tfindert build_deleteRAR)trequirement_settwb((s6/usr/lib/python2.7/site-packages/pip/commands/wheel.pytrun|sx                          ( t__name__t __module__t__doc__RZtusagetsummaryRR8Rc(((s6/usr/lib/python2.7/site-packages/pip/commands/wheel.pyR s  : (t __future__RtloggingRRFtpip.basecommandRtpip.exceptionsRRtpip.reqRt pip.utilsRtpip.utils.buildRtpip.utils.deprecationRt pip.wheelRR tpipR t getLoggerRdRMR (((s6/usr/lib/python2.7/site-packages/pip/commands/wheel.pyts   PKōe[Bܖ search.pynu[from __future__ import absolute_import import logging import sys import textwrap from pip.basecommand import Command, SUCCESS from pip.compat import OrderedDict from pip.download import PipXmlrpcTransport from pip.models import PyPI from pip.utils import get_terminal_size from pip.utils.logging import indent_log from pip.exceptions import CommandError from pip.status_codes import NO_MATCHES_FOUND from pip._vendor.packaging.version import parse as parse_version from pip._vendor import pkg_resources from pip._vendor.six.moves import xmlrpc_client logger = logging.getLogger(__name__) class SearchCommand(Command): """Search for PyPI packages whose name or summary contains .""" name = 'search' usage = """ %prog [options] """ summary = 'Search PyPI for packages.' def __init__(self, *args, **kw): super(SearchCommand, self).__init__(*args, **kw) self.cmd_opts.add_option( '-i', '--index', dest='index', metavar='URL', default=PyPI.pypi_url, help='Base URL of Python Package Index (default %default)') self.parser.insert_option_group(0, self.cmd_opts) def run(self, options, args): if not args: raise CommandError('Missing required argument (search query).') query = args pypi_hits = self.search(query, options) hits = transform_hits(pypi_hits) terminal_width = None if sys.stdout.isatty(): terminal_width = get_terminal_size()[0] print_results(hits, terminal_width=terminal_width) if pypi_hits: return SUCCESS return NO_MATCHES_FOUND def search(self, query, options): index_url = options.index with self._build_session(options) as session: transport = PipXmlrpcTransport(index_url, session) pypi = xmlrpc_client.ServerProxy(index_url, transport) hits = pypi.search({'name': query, 'summary': query}, 'or') return hits def transform_hits(hits): """ The list from pypi is really a list of versions. We want a list of packages with the list of versions stored inline. This converts the list from pypi into one we can use. """ packages = OrderedDict() for hit in hits: name = hit['name'] summary = hit['summary'] version = hit['version'] if name not in packages.keys(): packages[name] = { 'name': name, 'summary': summary, 'versions': [version], } else: packages[name]['versions'].append(version) # if this is the highest version, replace summary and score if version == highest_version(packages[name]['versions']): packages[name]['summary'] = summary return list(packages.values()) def print_results(hits, name_column_width=None, terminal_width=None): if not hits: return if name_column_width is None: name_column_width = max([ len(hit['name']) + len(hit.get('versions', ['-'])[-1]) for hit in hits ]) + 4 installed_packages = [p.project_name for p in pkg_resources.working_set] for hit in hits: name = hit['name'] summary = hit['summary'] or '' version = hit.get('versions', ['-'])[-1] if terminal_width is not None: target_width = terminal_width - name_column_width - 5 if target_width > 10: # wrap and indent summary to fit terminal summary = textwrap.wrap(summary, target_width) summary = ('\n' + ' ' * (name_column_width + 3)).join(summary) line = '%-*s - %s' % (name_column_width, '%s (%s)' % (name, version), summary) try: logger.info(line) if name in installed_packages: dist = pkg_resources.get_distribution(name) with indent_log(): latest = highest_version(hit['versions']) if dist.version == latest: logger.info('INSTALLED: %s (latest)', dist.version) else: logger.info('INSTALLED: %s', dist.version) logger.info('LATEST: %s', latest) except UnicodeEncodeError: pass def highest_version(versions): return max(versions, key=parse_version) PKōe[~U#[[ search.pycnu[ abc@@s4ddlmZddlZddlZddlZddlmZmZddlm Z ddl m Z ddl m Z ddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZejeZdefdYZ dZ!dddZ#dZ$dS(i(tabsolute_importN(tCommandtSUCCESS(t OrderedDict(tPipXmlrpcTransport(tPyPI(tget_terminal_size(t indent_log(t CommandError(tNO_MATCHES_FOUND(tparse(t pkg_resources(t xmlrpc_clientt SearchCommandcB@s;eZdZdZdZdZdZdZdZRS(s@Search for PyPI packages whose name or summary contains .tsearchs %prog [options] sSearch PyPI for packages.c O@satt|j|||jjdddddddtjdd |jjd |jdS( Ns-is--indextdesttindextmetavartURLtdefaultthelps3Base URL of Python Package Index (default %default)i( tsuperR t__init__tcmd_optst add_optionRtpypi_urltparsertinsert_option_group(tselftargstkw((s7/usr/lib/python2.7/site-packages/pip/commands/search.pyRs   cC@s||stdn|}|j||}t|}d}tjjr^td}nt|d||rxt St S(Ns)Missing required argument (search query).itterminal_width( RRttransform_hitstNonetsyststdouttisattyRt print_resultsRR (RtoptionsRtqueryt pypi_hitsthitsR((s7/usr/lib/python2.7/site-packages/pip/commands/search.pytrun)s cC@sj|j}|j|L}t||}tj||}|ji|d6|d6d}|SWdQXdS(Ntnametsummarytor(Rt_build_sessionRR t ServerProxyR(RR'R&t index_urltsessiont transporttpypiR)((s7/usr/lib/python2.7/site-packages/pip/commands/search.pyR9s   ( t__name__t __module__t__doc__R+tusageR,RR*R(((s7/usr/lib/python2.7/site-packages/pip/commands/search.pyR s cC@st}x|D]}|d}|d}|d}||jkrki|d6|d6|gd6|| =     !    cC@st|dtS(Ntkey(RDt parse_version(R9((s7/usr/lib/python2.7/site-packages/pip/commands/search.pyR<s(%t __future__RtloggingR"RItpip.basecommandRRt pip.compatRt pip.downloadRt pip.modelsRt pip.utilsRtpip.utils.loggingRtpip.exceptionsRtpip.status_codesR tpip._vendor.packaging.versionR RXt pip._vendorR tpip._vendor.six.movesR t getLoggerR4RLR R R!R%R<(((s7/usr/lib/python2.7/site-packages/pip/commands/search.pyts&   + &PKōe[{hL L __init__.pyonu[ abc @@sdZddlmZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZi eej6eej6e e j6e e j6eej6eej6eej6eej6eej6eej6eej6eej6Zeeeeeeeeee ee g ZedZdZ dZ!dS(s% Package containing all pip commands i(tabsolute_import(tCompletionCommand(tDownloadCommand(t FreezeCommand(t HashCommand(t HelpCommand(t ListCommand(t CheckCommand(t SearchCommand(t ShowCommand(tInstallCommand(tUninstallCommand(t WheelCommandcc@sM|rttt}n tj}x"|D]\}}||jfVq+WdS(s5Yields sorted (command name, command summary) tuples.N(t_sort_commandst commands_dicttcommands_ordertitemstsummary(torderedtcmditemstnamet command_class((s9/usr/lib/python2.7/site-packages/pip/commands/__init__.pyt get_summaries4s  cC@sGddlm}|j}||tj}|r?|dStSdS(sCommand name auto-correct.i(tget_close_matchesN(tdifflibRtlowerRtkeystFalse(RRtclose_commands((s9/usr/lib/python2.7/site-packages/pip/commands/__init__.pytget_similar_commands@s  c@s%fd}t|jd|S(Nc@s.yj|dSWntk r)dSXdS(Nii(tindext ValueError(tkey(torder(s9/usr/lib/python2.7/site-packages/pip/commands/__init__.pytkeyfnOs R (tsortedR(tcmddictR!R"((R!s9/usr/lib/python2.7/site-packages/pip/commands/__init__.pyR NsN("t__doc__t __future__Rtpip.commands.completionRtpip.commands.downloadRtpip.commands.freezeRtpip.commands.hashRtpip.commands.helpRtpip.commands.listRtpip.commands.checkRtpip.commands.searchRtpip.commands.showR tpip.commands.installR tpip.commands.uninstallR tpip.commands.wheelR RRRtTrueRRR (((s9/usr/lib/python2.7/site-packages/pip/commands/__init__.pytsR              PKōe[xHHhelp.pycnu[ abc@@sPddlmZddlmZmZddlmZdefdYZdS(i(tabsolute_import(tCommandtSUCCESS(t CommandErrort HelpCommandcB@s)eZdZdZdZdZdZRS(sShow help for commandsthelps %prog sShow help for commands.c C@sddlm}m}y|d}Wntk r8tSX||kr||}d|g}|rx|jd|ntdj|n||}|jj tS(Ni(t commands_dicttget_similar_commandssunknown command "%s"smaybe you meant "%s"s - ( t pip.commandsRRt IndexErrorRtappendRtjointparsert print_help( tselftoptionstargsRRtcmd_nametguesstmsgtcommand((s5/usr/lib/python2.7/site-packages/pip/commands/help.pytruns      (t__name__t __module__t__doc__tnametusagetsummaryR(((s5/usr/lib/python2.7/site-packages/pip/commands/help.pyRs N(t __future__Rtpip.basecommandRRtpip.exceptionsRR(((s5/usr/lib/python2.7/site-packages/pip/commands/help.pytsPKōe[0̳ completion.pynu[from __future__ import absolute_import import sys from pip.basecommand import Command BASE_COMPLETION = """ # pip %(shell)s completion start%(script)s# pip %(shell)s completion end """ COMPLETION_SCRIPTS = { 'bash': """ _pip_completion() { COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]}" \\ COMP_CWORD=$COMP_CWORD \\ PIP_AUTO_COMPLETE=1 $1 ) ) } complete -o default -F _pip_completion pip """, 'zsh': """ function _pip_completion { local words cword read -Ac words read -cn cword reply=( $( COMP_WORDS="$words[*]" \\ COMP_CWORD=$(( cword-1 )) \\ PIP_AUTO_COMPLETE=1 $words[1] ) ) } compctl -K _pip_completion pip """, 'fish': """ function __fish_complete_pip set -lx COMP_WORDS (commandline -o) "" set -lx COMP_CWORD (math (contains -i -- (commandline -t) $COMP_WORDS)-1) set -lx PIP_AUTO_COMPLETE 1 string split \ -- (eval $COMP_WORDS[1]) end complete -fa "(__fish_complete_pip)" -c pip """} class CompletionCommand(Command): """A helper command to be used for command completion.""" name = 'completion' summary = 'A helper command used for command completion.' def __init__(self, *args, **kw): super(CompletionCommand, self).__init__(*args, **kw) cmd_opts = self.cmd_opts cmd_opts.add_option( '--bash', '-b', action='store_const', const='bash', dest='shell', help='Emit completion code for bash') cmd_opts.add_option( '--zsh', '-z', action='store_const', const='zsh', dest='shell', help='Emit completion code for zsh') cmd_opts.add_option( '--fish', '-f', action='store_const', const='fish', dest='shell', help='Emit completion code for fish') self.parser.insert_option_group(0, cmd_opts) def run(self, options, args): """Prints the completion code of the given shell""" shells = COMPLETION_SCRIPTS.keys() shell_options = ['--' + shell for shell in sorted(shells)] if options.shell in shells: script = COMPLETION_SCRIPTS.get(options.shell, '') print(BASE_COMPLETION % {'script': script, 'shell': options.shell}) else: sys.stderr.write( 'ERROR: You must pass %s\n' % ' or '.join(shell_options) ) PKōe[y[,?? check.pyonu[ abc@seddlZddlmZddlmZddlmZejeZ defdYZ dS(iN(tCommand(tcheck_requirements(tget_installed_distributionst CheckCommandcBs)eZdZdZdZdZdZRS(s7Verify installed packages have compatible dependencies.tchecks %prog [options]c Cstdtdd}t|\}}x|D]}d|j|jf}x9|j|gD]%}tjd|j|j|jq]WxH|j|gD]4\}} tjd|j|j|| j| jqWq.W|s|rdStjddS( Nt local_onlytskips%s==%ss*%s %s requires %s, which is not installed.s-%s %s has requirement %s, but you have %s %s.isNo broken requirements found.((RtFalseRt project_nametversiontgettloggertinfo( tselftoptionstargstdiststmissing_reqs_dicttincompatible_reqs_dicttdisttkeyt requirementtactual((s6/usr/lib/python2.7/site-packages/pip/commands/check.pytruns   (t__name__t __module__t__doc__tnametusagetsummaryR(((s6/usr/lib/python2.7/site-packages/pip/commands/check.pyR s ( tloggingtpip.basecommandRtpip.operations.checkRt pip.utilsRt getLoggerRR R(((s6/usr/lib/python2.7/site-packages/pip/commands/check.pyts PKōe[Hssshow.pycnu[ abc@@sddlmZddlmZddlZddlZddlmZddlm Z m Z ddl m Z ddl mZejeZdefd YZd Zeed ZdS( i(tabsolute_import(t FeedParserN(tCommand(tSUCCESStERROR(t pkg_resources(tcanonicalize_namet ShowCommandcB@s2eZdZdZdZdZdZdZRS(s6Show information about one or more installed packages.tshows$ %prog [options] ...s*Show information about installed packages.c O@s^tt|j|||jjdddddddtdd |jjd |jdS( Ns-fs--filestdesttfilestactiont store_truetdefaultthelps7Show the full list of installed files for each package.i(tsuperRt__init__tcmd_optst add_optiontFalsetparsertinsert_option_group(tselftargstkw((s5/usr/lib/python2.7/site-packages/pip/commands/show.pyRs  cC@sO|stjdtS|}t|}t|d|jd|jsKtStS(Ns.ERROR: Please provide a package name or names.t list_filestverbose(tloggertwarningRtsearch_packages_infot print_resultsR RR(RtoptionsRtquerytresults((s5/usr/lib/python2.7/site-packages/pip/commands/show.pytrun"s  (t__name__t __module__t__doc__tnametusagetsummaryRR"(((s5/usr/lib/python2.7/site-packages/pip/commands/show.pyRs  cc@smi}x$tjD]}||t|j %     (t __future__Rt email.parserRtloggingR=tpip.basecommandRtpip.status_codesRRt pip._vendorRtpip._vendor.packaging.utilsRt getLoggerR#RRRRR(((s5/usr/lib/python2.7/site-packages/pip/commands/show.pyts   IPKōe[)P uninstall.pycnu[ abc@@sddlmZddlZddlmZddlmZmZmZddl m Z ddl m Z de fdYZ dS( i(tabsolute_importN(t WheelCache(tInstallRequirementtRequirementSettparse_requirements(tCommand(tInstallationErrortUninstallCommandcB@s2eZdZdZdZdZdZdZRS(sB Uninstall packages. pip is able to uninstall most installed packages. Known exceptions are: - Pure distutils packages installed with ``python setup.py install``, which leave behind no metadata to determine what files were installed. - Script wrappers installed by ``python setup.py develop``. t uninstallsU %prog [options] ... %prog [options] -r ...sUninstall packages.c O@stt|j|||jjdddddddgdd d d |jjd d ddddd d|jjd|jdS(Ns-rs --requirementtdestt requirementstactiontappendtdefaulttmetavartfilethelpsjUninstall all the packages listed in the given requirements file. This option can be used multiple times.s-ys--yestyest store_trues2Don't ask for confirmation of uninstall deletions.i(tsuperRt__init__tcmd_optst add_optiontparsertinsert_option_group(tselftargstkw((s:/usr/lib/python2.7/site-packages/pip/commands/uninstall.pyRs    c C@s4|j|}tjjtt}t|j|}tddddddd|j d|d|}x3|D]+}|j t j |d|j d|qvWxG|j D]<}x3t|d|d|d|D]} |j | qWqW|jstdtd |jn|jd |jWdQXdS( Nt build_dirtsrc_dirt download_dirtisolatedtsessiont wheel_cachetoptionssLYou must give at least one requirement to %(name)s (see "pip help %(name)s")tnamet auto_confirm(t_build_sessiontpiptindext FormatControltsetRt cache_dirRtNonet isolated_modetadd_requirementRt from_lineR Rthas_requirementsRtdictR#RR( RR"RR tformat_controlR!trequirement_setR#tfilenametreq((s:/usr/lib/python2.7/site-packages/pip/commands/uninstall.pytrun-s6     (t__name__t __module__t__doc__R#tusagetsummaryRR5(((s:/usr/lib/python2.7/site-packages/pip/commands/uninstall.pyR s   (t __future__RR&t pip.wheelRtpip.reqRRRtpip.basecommandRtpip.exceptionsRR(((s:/usr/lib/python2.7/site-packages/pip/commands/uninstall.pyts  PKōe[`  freeze.pynu[from __future__ import absolute_import import sys import pip from pip.compat import stdlib_pkgs from pip.basecommand import Command from pip.operations.freeze import freeze from pip.wheel import WheelCache DEV_PKGS = ('pip', 'setuptools', 'distribute', 'wheel') class FreezeCommand(Command): """ Output installed packages in requirements format. packages are listed in a case-insensitive sorted order. """ name = 'freeze' usage = """ %prog [options]""" summary = 'Output installed packages in requirements format.' log_streams = ("ext://sys.stderr", "ext://sys.stderr") def __init__(self, *args, **kw): super(FreezeCommand, self).__init__(*args, **kw) self.cmd_opts.add_option( '-r', '--requirement', dest='requirements', action='append', default=[], metavar='file', help="Use the order in the given requirements file and its " "comments when generating output. This option can be " "used multiple times.") self.cmd_opts.add_option( '-f', '--find-links', dest='find_links', action='append', default=[], metavar='URL', help='URL for finding packages, which will be added to the ' 'output.') self.cmd_opts.add_option( '-l', '--local', dest='local', action='store_true', default=False, help='If in a virtualenv that has global access, do not output ' 'globally-installed packages.') self.cmd_opts.add_option( '--user', dest='user', action='store_true', default=False, help='Only output packages installed in user-site.') self.cmd_opts.add_option( '--all', dest='freeze_all', action='store_true', help='Do not skip these packages in the output:' ' %s' % ', '.join(DEV_PKGS)) self.parser.insert_option_group(0, self.cmd_opts) def run(self, options, args): format_control = pip.index.FormatControl(set(), set()) wheel_cache = WheelCache(options.cache_dir, format_control) skip = set(stdlib_pkgs) if not options.freeze_all: skip.update(DEV_PKGS) freeze_kwargs = dict( requirement=options.requirements, find_links=options.find_links, local_only=options.local, user_only=options.user, skip_regex=options.skip_requirements_regex, isolated=options.isolated_mode, wheel_cache=wheel_cache, skip=skip) for line in freeze(**freeze_kwargs): sys.stdout.write(line + '\n') PKōe[y[,?? check.pycnu[ abc@seddlZddlmZddlmZddlmZejeZ defdYZ dS(iN(tCommand(tcheck_requirements(tget_installed_distributionst CheckCommandcBs)eZdZdZdZdZdZRS(s7Verify installed packages have compatible dependencies.tchecks %prog [options]c Cstdtdd}t|\}}x|D]}d|j|jf}x9|j|gD]%}tjd|j|j|jq]WxH|j|gD]4\}} tjd|j|j|| j| jqWq.W|s|rdStjddS( Nt local_onlytskips%s==%ss*%s %s requires %s, which is not installed.s-%s %s has requirement %s, but you have %s %s.isNo broken requirements found.((RtFalseRt project_nametversiontgettloggertinfo( tselftoptionstargstdiststmissing_reqs_dicttincompatible_reqs_dicttdisttkeyt requirementtactual((s6/usr/lib/python2.7/site-packages/pip/commands/check.pytruns   (t__name__t __module__t__doc__tnametusagetsummaryR(((s6/usr/lib/python2.7/site-packages/pip/commands/check.pyR s ( tloggingtpip.basecommandRtpip.operations.checkRt pip.utilsRt getLoggerRR R(((s6/usr/lib/python2.7/site-packages/pip/commands/check.pyts PKōe[ C __init__.pynu[""" Package containing all pip commands """ from __future__ import absolute_import from pip.commands.completion import CompletionCommand from pip.commands.download import DownloadCommand from pip.commands.freeze import FreezeCommand from pip.commands.hash import HashCommand from pip.commands.help import HelpCommand from pip.commands.list import ListCommand from pip.commands.check import CheckCommand from pip.commands.search import SearchCommand from pip.commands.show import ShowCommand from pip.commands.install import InstallCommand from pip.commands.uninstall import UninstallCommand from pip.commands.wheel import WheelCommand commands_dict = { CompletionCommand.name: CompletionCommand, FreezeCommand.name: FreezeCommand, HashCommand.name: HashCommand, HelpCommand.name: HelpCommand, SearchCommand.name: SearchCommand, ShowCommand.name: ShowCommand, InstallCommand.name: InstallCommand, UninstallCommand.name: UninstallCommand, DownloadCommand.name: DownloadCommand, ListCommand.name: ListCommand, CheckCommand.name: CheckCommand, WheelCommand.name: WheelCommand, } commands_order = [ InstallCommand, DownloadCommand, UninstallCommand, FreezeCommand, ListCommand, ShowCommand, CheckCommand, SearchCommand, WheelCommand, HashCommand, CompletionCommand, HelpCommand, ] def get_summaries(ordered=True): """Yields sorted (command name, command summary) tuples.""" if ordered: cmditems = _sort_commands(commands_dict, commands_order) else: cmditems = commands_dict.items() for name, command_class in cmditems: yield (name, command_class.summary) def get_similar_commands(name): """Command name auto-correct.""" from difflib import get_close_matches name = name.lower() close_commands = get_close_matches(name, commands_dict.keys()) if close_commands: return close_commands[0] else: return False def _sort_commands(cmddict, order): def keyfn(key): try: return order.index(key[1]) except ValueError: # unordered items should come last return 0xff return sorted(cmddict.items(), key=keyfn) PKe[7%__pycache__/show.cpython-36.opt-1.pycnu[3 Pf@sddlmZddlmZddlZddlZddlmZddlm Z m Z ddl m Z ddl mZejeZGdd d eZd d Zdd dZdS))absolute_import) FeedParserN)Command)SUCCESSERROR) pkg_resources)canonicalize_namecs4eZdZdZdZdZdZfddZddZZ S) ShowCommandz6Show information about one or more installed packages.Zshowz$ %prog [options] ...z*Show information about installed packages.cs>tt|j|||jjddddddd|jjd|jdS) Nz-fz--filesfiles store_trueFz7Show the full list of installed files for each package.)destactiondefaulthelpr)superr __init__Zcmd_optsZ add_optionparserZinsert_option_group)selfargskw) __class__/usr/lib/python3.6/show.pyrszShowCommand.__init__cCs8|stjdtS|}t|}t||j|jds4tStS)Nz.ERROR: Please provide a package name or names.) list_filesverbose)loggerZwarningrsearch_packages_info print_resultsr rr)rZoptionsrqueryresultsrrrrun"s zShowCommand.run) __name__ __module__ __qualname____doc__nameZusagesummaryrr __classcell__rr)rrr s  r c#sixtjD]}|t|j<q Wdd|D}xfdd|DD]ΉjjjddjDd}d}d}ttjrވj drȈj d}dd|D}fd d|D}fd d|D}j d r܈j d }nPj d rj d }fd d|D}fdd|D}j dr.j d}j drLj d}||d<j drx,j dD]} | j rd| j |d<PqdWt } | j|| j} xdD]} | j| || <qWg} x4|jD](} | jdr| j| tddqW| |d<|rt||d<|VqFWdS)z Gather details from installed distributions. Print distribution name, version, location, and installed files. Installed files requires a pip generated 'installed-files.txt' in the distributions '.egg-info' directory. cSsg|] }t|qSr)r).0r%rrr :sz(search_packages_info..csg|]}|kr|qSrr)r(Zpkg) installedrrr)<scSsg|] }|jqSr) project_name)r(Zdeprrrr)As)r%versionlocationrequiresNZRECORDcSsg|]}|jddqS),r)split)r(lrrrr)Iscsg|]}tjjj|qSr)ospathjoinr-)r(p)distrrr)Jscsg|]}tjj|jqSr)r2r3relpathr-)r(r5)r6rrr)KsZMETADATAzinstalled-files.txtcsg|]}tjjj|qSr)r2r3r4Zegg_info)r(r5)r6rrr)Sscsg|]}tjj|jqSr)r2r3r7r-)r(r5)r6rrr)TszPKG-INFOzentry_points.txt entry_pointsZ INSTALLER installermetadata-versionr& home-pageauthor author-emaillicensez Classifier: classifiersr )r:r&r;r<r=r>)rZ working_setrr+r,r-r. isinstanceZDistInfoDistributionZ has_metadataZget_metadata_linesZ get_metadatastriprZfeedcloseget splitlines startswithappendlensorted)rr5Z query_namespackageZ file_listZmetadatalinespathsr8lineZ feed_parserZ pkg_info_dictkeyr?r)r6r*rr/s^                  rFc Csd}xt|D]\}}d}|dkr0tjdtjd|jddtjd|jd dtjd |jd dtjd |jd dtjd|jddtjd|jddtjd|jddtjd|jddtjddj|jdg|rxtjd|jddtjd|jddtjdx"|jdgD]}tjd|q0Wtjd x&|jd!gD]}tjd|jq^W|rtjd"x&|jd#gD]}tjd|jqWd#|krtjd$qW|S)%zD Print the informations from installed distributions found. FTrz---zName: %sr%z Version: %sr,z Summary: %sr&z Home-page: %sz home-pagez Author: %sr<zAuthor-email: %sz author-emailz License: %sr>z Location: %sr-z Requires: %sz, r.zMetadata-Version: %szmetadata-versionz Installer: %sr9z Classifiers:r?z %sz Entry-points:r8zFiles:r z!Cannot locate installed-files.txt) enumeraterinforCr4rA) Z distributionsrrZresults_printedir6Z classifierentryrLrrrrxs>    r)FF)Z __future__rZ email.parserrZloggingr2Zpip.basecommandrZpip.status_codesrrZ pip._vendorrZpip._vendor.packaging.utilsrZ getLoggerr!rr rrrrrrs      IPKe[#(((__pycache__/install.cpython-36.opt-1.pycnu[3 PfqG @s(ddlmZddlZddlZddlZddlZddlZddlZddlZddlm Z y ddl Z Wne k rtdZ YnXddl m Z ddlmZddlmZmZddlmZmZmZddlmZdd lmZmZdd lmZdd lmZdd l m!Z!dd l"m#Z#m$Z$ej%e&Z'GdddeZ(ddZ)dS))absolute_importN)path)RequirementSet)RequirementCommand)virtualenv_no_globaldistutils_scheme)InstallationError CommandErrorPreviousBuildDirError) cmdoptions) ensure_dirget_installed_version)BuildDirectory)RemovedInPip10Warning)check_path_owner) WheelCache WheelBuildercs4eZdZdZdZdZdZfddZddZZ S) InstallCommandaI Install packages from: - PyPI (and other indexes) using requirement specifiers. - VCS project urls. - Local project directories. - Local or remote source archives. pip also supports installing from "requirements files", which provide an easy way to specify a whole environment to be installed. installa% %prog [options] [package-index-options] ... %prog [options] -r [package-index-options] ... %prog [options] [-e] ... %prog [options] [-e] ... %prog [options] ...zInstall packages.c s0tt|j|||j}|jtj|jtj|jtj|jtj |jddddddd|jddd d d ddd d|jtj |jd ddddd|jdddddgdd|jddddd|jdddddd|jtj |jtj |jtj |jtj|jd d!dd"d|jd#d$dd%d|jd&d'ddd(d|jd)d*d+dd,d|jd-d.ddd/d|jd0dd1d2d3d4|jd5d6d1d7d8|jtj|jtj|jtj|jtj|jtj|jtj|jtjtjtj|j}|jjd9||jjd9|dS):Nz-tz--target target_dirdirzInstall packages into . By default this will not replace existing files/folders in . Use --upgrade to replace existing packages in with new versions.)destmetavardefaulthelpz-dz --downloadz--download-dirz--download-directory download_dirz`Download packages into instead of installing them, regardless of what's already installed.z-Uz --upgradeupgrade store_truezUpgrade all specified packages to the newest available version. The handling of dependencies depends on the upgrade-strategy used.)ractionrz--upgrade-strategyupgrade_strategyZeagerzonly-if-neededa3Determines how dependency upgrading should be handled. "eager" - dependencies are upgraded regardless of whether the currently installed version satisfies the requirements of the upgraded package(s). "only-if-needed" - are upgraded only when they do not satisfy the requirements of the upgraded package(s).)rrchoicesrz--force-reinstallforce_reinstallzKWhen upgrading, reinstall all packages even if they are already up-to-date.z-Iz--ignore-installedignore_installedz5Ignore the installed packages (reinstalling instead).z--user use_user_sitezInstall to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%\Python on Windows. (See the Python documentation for site.USER_BASE for full details.)z--eggas_eggzInstall packages as eggs, not 'flat', like pip normally does. This option is not about installing *from* eggs. (WARNING: Because this option overrides pip's normal install logic, requirements files may not behave as expected.)z--root root_pathz=Install everything relative to this alternate root directory.z--strip-file-prefixstrip_file_prefixprefixz5Strip given prefix from script paths in wheel RECORD.z--prefix prefix_pathzIInstallation prefix where lib, bin and other top-level folders are placedz --compilecompileTzCompile py files to pyc)rrrrz --no-compileZ store_falsezDo not compile py files to pyc)rrrr)superr__init__cmd_optsZ add_optionr Z constraintsZeditableZ requirements build_dirsrcignore_requires_pythonZno_depsinstall_optionsglobal_optionsZ use_wheelZ no_use_wheelZ no_binaryZ only_binaryZpreno_cleanrequire_hashesZmake_option_groupZ index_groupparserZinsert_option_group)selfargskwr,Z index_opts) __class__/usr/lib/python3.6/install.pyr+8szInstallCommand.__init__c&Cstj|tj|dd}tjdkrJ| rJtjdtjt j d|j r\t j dt|jrnt j dt|jrt j dt|jrt j dt|jrt j d td |_|jrtjj|j|_tjj|j|_|jpg}|jr|jrtd trtd |jd |jdd}|jrtd |_tj }tjj|j|_tjj!|jrftjj"|j rftd|jd||j#p~g}|j$|T}|j%||}|j&p|j } t'|j(|j)} |j(rt*|j( rtjd|j(d|_(t+|j| d} t,| |j|j|j-|j.|j |j|j/|j0|j1|j|||j2|j3| |j4d} |j5| |||||j6| | j7s\dSz`y:|js~t8 s~|j( r| j9|nt:| |ggd} | j;d d|jsr| j<|||j=|j|j>dt?|j||j=|j|j3d}t@| jAtBjCdd}g}xX|D]P}|j6}y"tD|j6|}|r*|d|7}WntEk rBYnX|j|qWdjF|}|rtjGd|n(djFdd| jHD}|rtjGd|WntIk rd |_&YnXWd|j&s| jJXWdQRXWdQRX|jrtK|jg}tLd |d!d"}tLd |d!d#}tjj!|r4|j|tjj!|rV||krV|j|x|D]}xtjM|D]}tjjF|j|}tjj!|r|j-stjd$|qltjjN|rtjd%|qltjj"|rtOjP|n tjQ|tOjRtjjF|||qlWq\WtOjP|| S)&NcSs ttdpttdotjtjkS)NZ real_prefix base_prefix)hasattrsysr;r'r9r9r9r:is_venvs z#InstallCommand.run..is_venvrzpWARNING: Running pip install with root privileges is generally not a good idea. Try `%s install --user` instead.z--egg has been deprecated and will be removed in the future. This flag is mutually exclusive with large parts of pip, and actually using it invalidates pip's ability to manage the installation process.z--allow-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.z--allow-all-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.z--allow-unverified has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.zpip install --download has been deprecated and will be removed in the future. Pip now has a download command that should be used instead.TzVCan not combine '--user' and '--prefix' as they imply different installation locationszZCan not perform a '--user' install. User site-packages are not visible in this virtualenv.z--userz --prefix=z=Target path exists but is not a directory, will not continue.z--home=zThe directory '%s' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.)delete)r-src_dirrrrr$r"ignore_dependenciesr/r!r#rsessionZ pycompileisolated wheel_cacher3)Z build_optionsr1)Z autobuilding)rootr'r&)userhomerEr'rCname)key- zSuccessfully installed %scSsg|] }|jqSr9)rH).0reqr9r9r: sz&InstallCommand.run..zSuccessfully downloaded %s)rGpurelibplatlibzKTarget directory %s already exists. Specify --upgrade to force replacement.zTarget directory %s already exists and is a link. Pip will not automatically replace links, please remove if replacement is desired.)Sr Zresolve_wheel_no_use_binaryZcheck_install_build_globalosgetuidloggerZwarningrbasenamer=argvr$warningswarnrZallow_externalZallow_all_externalZallow_unverifiedrr"r-abspathr@r0r#r(r rrappendrtempfileZmkdtempexistsisdirr1Z_build_sessionZ_build_package_finderr2r cache_dirZformat_controlrrrrrrAr/r!r)Z isolated_moder3Zpopulate_requirement_setrHZhas_requirementswheelZ prepare_filesrZbuildrr%r&get_lib_location_guessessortedZsuccessfully_installedoperator attrgetterr ExceptionjoininfoZsuccessfully_downloadedr Z cleanup_filesr rlistdirislinkshutilZrmtreeremoveZmove)r5Zoptionsr6r>r0Ztemp_target_dirr1rBfinderZ build_deleterDr-Zrequirement_setwbZpossible_lib_locationsZreqsitemsrMitemZinstalled_versionZ installedZ downloadedZ lib_dir_listZ purelib_dirZ platlib_dirZlib_dirZtarget_item_dirr9r9r:runsP                            zInstallCommand.run) __name__ __module__ __qualname____doc__rHZusageZsummaryr+ro __classcell__r9r9)r8r:r!s  rcOstd||}|d|dgS)NrOrPrQ)rO)r)r6kwargsschemer9r9r:r`sr`)*Z __future__rZloggingrbrRr[rirWr=rr_ ImportErrorZpip.reqrZpip.basecommandrZ pip.locationsrrZpip.exceptionsrr r Zpipr Z pip.utilsr r Zpip.utils.buildrZpip.utils.deprecationrZpip.utils.filesystemrZ pip.wheelrrZ getLoggerrprTrr`r9r9r9r:s8           ,PKe[ '__pycache__/freeze.cpython-36.opt-1.pycnu[3 Pf @sdddlmZddlZddlZddlmZddlmZddlm Z ddl m Z d Z Gd d d eZ dS))absolute_importN) stdlib_pkgs)Command)freeze) WheelCachepip setuptools distributewheelcs8eZdZdZdZdZdZd ZfddZdd Z Z S) FreezeCommandzx Output installed packages in requirements format. packages are listed in a case-insensitive sorted order. rz %prog [options]z1Output installed packages in requirements format.ext://sys.stderrc stt|j|||jjddddgddd|jjdd d dgd d d|jjd dddddd|jjdddddd|jjdddddjtd|jjd|jdS)Nz-rz --requirement requirementsappendfilez}Use the order in the given requirements file and its comments when generating output. This option can be used multiple times.)destactiondefaultmetavarhelpz-fz --find-links find_linksZURLzs     PKe[K@;%%__pycache__/list.cpython-36.pycnu[3 Pfi, @sddlmZddlZddlZddlZyddlmZWn ek rTddlmZYnXddl m Z ddl m Z ddl mZddlmZdd lmZmZdd lmZdd lmZmZejeZGd d d e ZddZddZddZdS))absolute_importN) zip_longest) izip_longest)six)Command) CommandError) PackageFinder)get_installed_distributionsdist_is_editable)RemovedInPip10Warning)make_option_group index_groupcs|eZdZdZdZdZdZfddZddZd d Z d d Z d dZ ddZ ddZ ddZddZddZddZZS) ListCommandzt List installed packages, including editables. Packages are listed in a case-insensitive sorted order. listz %prog [options]zList installed packages.cstt|j|||j}|jdddddd|jddddd d|jd d ddd d|jd ddddd|jjdddddd|jddddd|jdddd$dd|jddd d!d"tt|j}|jjd#||jjd#|dS)%Nz-oz --outdated store_trueFzList outdated packages)actiondefaulthelpz-uz --uptodatezList uptodate packagesz-ez --editablezList editable projects.z-lz--localzSIf in a virtualenv that has global access, do not list globally-installed packages.z--useruserz,Only output packages installed in user-site.)destrrrz--prezYInclude pre-release and development versions. By default, pip only finds stable versions.z--formatZstore list_formatlegacycolumnsfreezejsonzJSelect the output format among: legacy (default), columns, freeze or json.)rrchoicesrz--not-required not_requiredz>List packages that are not dependencies of installed packages.)rrrr)rrrr) superr__init__cmd_optsZ add_optionr r parserZinsert_option_group)selfargskwrZ index_opts) __class__/usr/lib/python3.6/list.pyr#s^ zListCommand.__init__cCst|j||j|j|j|dS)zK Create a package finder appropriate to this list command. ) find_links index_urlsZallow_all_prereleases trusted_hostsprocess_dependency_linkssession)rr'prer)r*)r!optionsr(r+r%r%r&_build_package_findercsz!ListCommand._build_package_findercCs|jrtjdt|jr$tjdt|jr6tjdt|jdkrLtjdt|jr`|jr`t dt |j |j |j d}|jr|j||}n|jr|j||}|jr|j||}|j||dS)Nz--allow-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.z--allow-all-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.z--allow-unverified has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.zThe default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.z5Options --outdated and --uptodate cannot be combined.)Z local_onlyZ user_onlyZeditables_only)Zallow_externalwarningswarnr Zallow_all_externalZallow_unverifiedroutdatedZuptodaterr ZlocalrZeditable get_outdated get_uptodaterget_not_requiredoutput_package_listing)r!r-r"packagesr%r%r&runps<     zListCommand.runcCsdd|j||DS)NcSsg|]}|j|jkr|qSr%)latest_versionparsed_version).0distr%r%r& sz,ListCommand.get_outdated..)iter_packages_latest_infos)r!r6r-r%r%r&r2szListCommand.get_outdatedcCsdd|j||DS)NcSsg|]}|j|jkr|qSr%)r8r9)r:r;r%r%r&r<sz,ListCommand.get_uptodate..)r=)r!r6r-r%r%r&r3szListCommand.get_uptodatecsBtx$|D]}jdd|jDq Wtfdd|DS)Ncss|] }|jVqdS)N)key)r:Z requirementr%r%r& sz/ListCommand.get_not_required..c3s|]}|jkr|VqdS)N)r>)r:Zpkg)dep_keysr%r&r?s)setupdateZrequires)r!r6r-r;r%)r@r&r4s zListCommand.get_not_requiredc cs|jg|j}|jr*tjddj|g}g}x&|D]}|jdr4|j|jdq4W|j |}|j |||}|j |xn|D]f}d}|j |j } |jsdd| D} | sqt| |jd} | j} | jjrd}nd }| |_||_|VqWWdQRXdS) NzIgnoring indexes: %s,zdependency_links.txtunknowncSsg|]}|jjs|qSr%)versionZ is_prerelease)r: candidater%r%r&r<sz:ListCommand.iter_packages_latest_infos..)r>ZwheelZsdist)Z index_urlZextra_index_urlsZno_indexloggerdebugjoinZ has_metadataextendZget_metadata_linesZ_build_sessionr.Zadd_dependency_linksZfind_all_candidatesr>r,maxZ_candidate_sort_keyrElocationZis_wheelr8latest_filetype) r!r6r-r(Zdependency_linksr;r+findertypZall_candidatesZbest_candidateZremote_versionr%r%r&r=s8       z&ListCommand.iter_packages_latest_infoscCs0t|rd|j|j|jfSd|j|jfSdS)Nz %s (%s, %s)z%s (%s))r project_namerErL)r!r;r%r%r& output_legacys  zListCommand.output_legacycCsd|j||j|jfS)Nz%s - Latest: %s [%s])rQr8rM)r!r;r%r%r&output_legacy_latestsz ListCommand.output_legacy_latestcCst|ddd}|jdkr:|r:t||\}}|j||n~|jdkrfxr|D]}tjd|j|jqJWnR|jdkrtjt||n6x4|D],}|j rtj|j |qtj|j |qWdS)NcSs |jjS)N)rPlower)r;r%r%r&sz4ListCommand.output_package_listing..)r>rrz%s==%sr) sortedrformat_for_columnsoutput_package_listing_columnsrGinforPrEformat_for_jsonr1rRrQ)r!r6r-dataheaderr;r%r%r&r5s     z"ListCommand.output_package_listingcCsht|dkr|jd|t|\}}t|dkrL|jddjtdd|x|D]}tj|qRWdS)Nr cSsd|S)N-r%)xr%r%r&rT sz.)leninserttabulaterImaprGrX)r!rZr[Z pkg_stringssizesvalr%r%r&rWs     z*ListCommand.output_package_listing_columns)__name__ __module__ __qualname____doc__nameZusageZsummaryrr.r7r2r3r4r=rQrRr5rW __classcell__r%r%)r$r&rs @ 6' rcCst|dkstdgtdd|D}x |D]}ddt||D}q.Wg}x0|D](}djddt||D}|j|qTW||fS)Nrcss|]}t|VqdS)N)r`)r:r_r%r%r&r?sztabulate..cSs"g|]\}}t|tt|qSr%)rKr`str)r:scr%r%r&r<sztabulate..r]cSs*g|]"\}}|dk r"t|j|ndqS)N)rlljust)r:rmrnr%r%r&r<s)r`AssertionErrorrKrrIappend)valsrdrowresultZdisplayr%r%r&rbs   rbcCs|j}|rddddg}nddg}g}tdd|Dr@|jdxR|D]J}|j|jg}|rr|j|j|j|jt|r|j|j|j|qFW||fS)z_ Convert the package data into something usable by output_package_listing_columns. ZPackageZVersionZLatestZTypecss|]}t|VqdS)N)r )r:r_r%r%r&r?2sz%format_for_columns..ZLocation) r1anyrrrPrEr8rMr rL)Zpkgsr-Zrunning_outdatedr[rZZprojrtr%r%r&rV%s       rVcCsZg}xJ|D]B}|jtj|jd}|jrBtj|j|d<|j|d<|j|q Wtj |S)N)rjrEr8rM) rPrZ text_typerEr1r8rMrrrdumps)r6r-rZr;rXr%r%r&rYFs  rY) Z __future__rrZloggingr/ itertoolsr ImportErrorrZ pip._vendorrZpip.basecommandrZpip.exceptionsrZ pip.indexrZ pip.utilsr r Zpip.utils.deprecationr Zpip.cmdoptionsr r Z getLoggerrfrGrrbrVrYr%r%r%r&s(       |!PKe[^#__pycache__/__init__.cpython-36.pycnu[3 Pf@s&dZddlmZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZejeejee je e je ejeejeejeejeejeejeejeejei Zeeeeeeeeee ee g ZdddZddZddZ dS)z% Package containing all pip commands )absolute_import)CompletionCommand)DownloadCommand) FreezeCommand) HashCommand) HelpCommand) ListCommand) CheckCommand) SearchCommand) ShowCommand)InstallCommand)UninstallCommand) WheelCommandTccs:|rttt}ntj}x|D]\}}||jfVqWdS)z5Yields sorted (command name, command summary) tuples.N)_sort_commands commands_dictcommands_orderitemsZsummary)ZorderedZcmditemsnameZ command_classr/usr/lib/python3.6/__init__.py get_summaries4s  rcCs6ddlm}|j}||tj}|r.|dSdSdS)zCommand name auto-correct.r)get_close_matchesFN)Zdifflibrlowerrkeys)rrZclose_commandsrrrget_similar_commands@s  rcsfdd}t|j|dS)Nc s(yj|dStk r"dSXdS)N)index ValueError)key)orderrrkeyfnOsz_sort_commands..keyfn)r)sortedr)Zcmddictr r!r)r rrNs rN)T)!__doc__Z __future__rZpip.commands.completionrZpip.commands.downloadrZpip.commands.freezerZpip.commands.hashrZpip.commands.helprZpip.commands.listrZpip.commands.checkr Zpip.commands.searchr Zpip.commands.showr Zpip.commands.installr Zpip.commands.uninstallr Zpip.commands.wheelrrrrrrrrrrrsP               PKe[Yj7__pycache__/help.cpython-36.pycnu[3 Pf@s<ddlmZddlmZmZddlmZGdddeZdS))absolute_import)CommandSUCCESS) CommandErrorc@s$eZdZdZdZdZdZddZdS) HelpCommandzShow help for commandshelpz %prog zShow help for commands.c Csddlm}m}y |d}Wntk r0tSX||krl||}d|g}|r^|jd|tdj|||}|jj tS)Nr) commands_dictget_similar_commandszunknown command "%s"zmaybe you meant "%s"z - ) Z pip.commandsrr IndexErrorrappendrjoinparserZ print_help) selfZoptionsargsrr Zcmd_nameZguessmsgZcommandr/usr/lib/python3.6/help.pyruns    zHelpCommand.runN)__name__ __module__ __qualname____doc__nameZusageZsummaryrrrrrrs rN)Z __future__rZpip.basecommandrrZpip.exceptionsrrrrrrs  PKe[^)__pycache__/__init__.cpython-36.opt-1.pycnu[3 Pf@s&dZddlmZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZejeejee je e je ejeejeejeejeejeejeejeejei Zeeeeeeeeee ee g ZdddZddZddZ dS)z% Package containing all pip commands )absolute_import)CompletionCommand)DownloadCommand) FreezeCommand) HashCommand) HelpCommand) ListCommand) CheckCommand) SearchCommand) ShowCommand)InstallCommand)UninstallCommand) WheelCommandTccs:|rttt}ntj}x|D]\}}||jfVqWdS)z5Yields sorted (command name, command summary) tuples.N)_sort_commands commands_dictcommands_orderitemsZsummary)ZorderedZcmditemsnameZ command_classr/usr/lib/python3.6/__init__.py get_summaries4s  rcCs6ddlm}|j}||tj}|r.|dSdSdS)zCommand name auto-correct.r)get_close_matchesFN)Zdifflibrlowerrkeys)rrZclose_commandsrrrget_similar_commands@s  rcsfdd}t|j|dS)Nc s(yj|dStk r"dSXdS)N)index ValueError)key)orderrrkeyfnOsz_sort_commands..keyfn)r)sortedr)Zcmddictr r!r)r rrNs rN)T)!__doc__Z __future__rZpip.commands.completionrZpip.commands.downloadrZpip.commands.freezerZpip.commands.hashrZpip.commands.helprZpip.commands.listrZpip.commands.checkr Zpip.commands.searchr Zpip.commands.showr Zpip.commands.installr Zpip.commands.uninstallr Zpip.commands.wheelrrrrrrrrrrrsP               PKe[M)__pycache__/download.cpython-36.opt-1.pycnu[3 Pf@sddlmZddlZddlZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZmZdd lmZdd lmZejeZGd d d e ZdS) )absolute_importN) CommandError) FormatControl)RequirementSet)RequirementCommand) cmdoptions) ensure_dirnormalize_path)BuildDirectory)check_path_ownercs4eZdZdZdZdZdZfddZddZZ S) DownloadCommandaL Download packages from: - PyPI (and other indexes) using requirement specifiers. - VCS project urls. - Local project directories. - Local or remote source archives. pip also supports downloading from "requirements files", which provide an easy way to specify a whole environment to be downloaded. Zdownloada% %prog [options] [package-index-options] ... %prog [options] -r [package-index-options] ... %prog [options] [-e] ... %prog [options] [-e] ... %prog [options] ...zDownload packages.c s\tt|j|||j}|jtj|jtj|jtj|jtj |jtj |jtj |jtj |jtj |jtj|jtj|jtj|jtj|jddddddtjdd|jd d d dd d|jd d d ddd|jdddddd|jddddddtjtj|j}|jjd||jjd|dS)Nz-dz--destz--destination-dirz--destination-directory download_dirdirzDownload packages into .)destmetavardefaulthelpz --platformplatformz`Only download wheels compatible with . Defaults to the platform of the running system.z--python-versionpython_versiona&Only download wheels compatible with Python interpreter version . If not specified, then the current system interpreter minor version is used. A major version (e.g. '2') can be specified to match all minor revs of that major version. A minor version (e.g. '34') can also be specified.z--implementationimplementationzOnly download wheels compatible with Python implementation , e.g. 'pp', 'jy', 'cp', or 'ip'. If not specified, then the current interpreter implementation is used. Use 'py' to force implementation-agnostic wheels.z--abiabizOnly download wheels compatible with Python abi , e.g. 'pypy_41'. If not specified, then the current interpreter abi tag is used. Generally you will need to specify --implementation, --platform, and --python-version when using this option.r)superr __init__cmd_optsZ add_optionrZ constraintsZeditableZ requirements build_dirZno_depsZglobal_optionsZ no_binaryZ only_binarysrcZpreno_cleanrequire_hashesoscurdirZmake_option_groupZnon_deprecated_index_groupparserZinsert_option_group)selfargskwrZ index_opts) __class__/usr/lib/python3.6/download.pyr*sbzDownloadCommand.__init__c Csd|_|jr|jg}nd}t|j|j|j|jg}tttdg}|rZ|j|krZt dt j j |j |_ t|j|_t|j|j|}|j|||j||j|jd}|jp|j }|jrt|j rtjd|jd|_t|j|d} t| |j |jd|j||j|jd} |j| |||||jd| j s2dS| j!|dj"d d | j#D} | rdtj$d | |jst| j%WdQRXWdQRX| S) NTz:all:z--only-binary=:all: must be set and --no-binary must not be set (or must be set to :none:) when restricting platform and interpreter constraints using --python-version, --platform, --abi, or --implementation.)optionssessionrpython_versionsrrzThe directory '%s' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.)delete)rsrc_dirr ignore_installedignore_dependenciesr(isolatedr cSsg|] }|jqSr%)name).0Zreqr%r%r& sz'DownloadCommand.run..zSuccessfully downloaded %s)&r,ranyrrrrsetZformat_controlrrpathabspathr+r r rZ_build_sessionZ_build_package_finderrr cache_dirr loggerZwarningr rr-Z isolated_moderZpopulate_requirement_setr0Zhas_requirementsZ prepare_filesjoinZsuccessfully_downloadedinfoZ cleanup_files) r!r'r"r)Zdist_restriction_setZ binary_onlyr(finderZ build_deleterZrequirement_setZ downloadedr%r%r&run{sx         zDownloadCommand.run) __name__ __module__ __qualname____doc__r0ZusageZsummaryrr< __classcell__r%r%)r$r&r s   Qr )Z __future__rZloggingrZpip.exceptionsrZ pip.indexrZpip.reqrZpip.basecommandrZpiprZ pip.utilsrr Zpip.utils.buildr Zpip.utils.filesystemr Z getLoggerr=r8r r%r%r%r&s         PKe[mm__pycache__/hash.cpython-36.pycnu[3 Pf=@s~ddlmZddlZddlZddlZddlmZddlmZddl m Z ddl m Z m Z ejeZGdddeZd d ZdS) )absolute_importN)Command)ERROR) read_chunks) FAVORITE_HASH STRONG_HASHEScs4eZdZdZdZdZdZfddZddZZ S) HashCommandz Compute a hash of a local package archive. These can be used with --hash in a requirements file to do repeatable installs. hashz%prog [options] ...z#Compute hashes of package archives.c sJtt|j|||jjdddtdtddjtd|jj d|jdS) Nz-az --algorithm algorithmZstorez$The hash algorithm to use: one of %sz, )destchoicesactiondefaulthelpr) superr__init__Zcmd_optsZ add_optionrrjoinparserZinsert_option_group)selfargskw) __class__/usr/lib/python3.6/hash.pyrszHashCommand.__init__cCsD|s|jjtjtS|j}x"|D]}tjd||t||q"WdS)Nz%s: --hash=%s:%s) rZ print_usagesysstderrrr loggerinfo _hash_of_file)rZoptionsrr pathrrrrun(s zHashCommand.run) __name__ __module__ __qualname____doc__nameZusageZsummaryrr __classcell__rr)rrrs  rc CsDt|d,}tj|}xt|D]}|j|q WWdQRX|jS)z!Return the hash digest of a file.rbN)openhashlibnewrupdateZ hexdigest)rr archiver chunkrrrr3s   r)Z __future__rr)ZloggingrZpip.basecommandrZpip.status_codesrZ pip.utilsrZpip.utils.hashesrrZ getLoggerr!rrrrrrrs     #PKe[V3 __pycache__/wheel.cpython-36.pycnu[3 Pf1@sddlmZddlZddlZddlZddlmZddlmZm Z ddl m Z ddl m Z ddlmZddlmZdd lmZmZdd lmZejeZGd d d eZdS) )absolute_importN)RequirementCommand) CommandErrorPreviousBuildDirError)RequirementSet)import_or_raise)BuildDirectory)RemovedInPip10Warning) WheelCache WheelBuilder) cmdoptionscs<eZdZdZdZdZdZfddZddZd d Z Z S) WheelCommanda Build Wheel archives for your requirements and dependencies. Wheel is a built-package format, and offers the advantage of not recompiling your software during every install. For more details, see the wheel docs: https://wheel.readthedocs.io/en/latest/ Requirements: setuptools>=0.8, and wheel. 'pip wheel' uses the bdist_wheel setuptools extension from the wheel package to build individual wheels. Zwheelz %prog [options] ... %prog [options] -r ... %prog [options] [-e] ... %prog [options] [-e] ... %prog [options] ...z$Build wheels from your requirements.csPtt|j|||j}|jddddtjdd|jtj|jtj |jtj |jtj |jddd d d d |jtj |jtj |jtj|jtj|jtj|jtj|jtj|jd dd d dd|jddddd|jtj|jtjtjtj|j}|jjd||jjd|dS)Nz-wz --wheel-dir wheel_dirdirzLBuild wheels into , where the default is the current working directory.)destmetavardefaulthelpz--build-option build_optionsoptionsappendz9Extra arguments to be supplied to 'setup.py bdist_wheel'.)rractionrz--global-optionglobal_optionszZExtra global options to be supplied to the setup.py call before the 'bdist_wheel' command.)rrrrz--pre store_trueFzYInclude pre-release and development versions. By default, pip only finds stable versions.)rrrr)superr __init__cmd_optsZ add_optionoscurdirr Z use_wheelZ no_use_wheelZ no_binaryZ only_binaryZ constraintsZeditableZ requirementssrcignore_requires_pythonZno_deps build_dirno_cleanrequire_hashesZmake_option_groupZ index_groupparserZinsert_option_group)selfargskwrZ index_opts) __class__/usr/lib/python3.6/wheel.pyr.sVzWheelCommand.__init__cCs.tdtdtdtd}t|ds*tddS)Nzwheel.bdist_wheelzM'pip wheel' requires the 'wheel' package. To fix this, run: pip install wheel pkg_resourceszp'pip wheel' requires setuptools >= 0.8 for dist-info support. To fix this, run: pip install --upgrade setuptoolsZDistInfoDistribution)rrhasattr)r%r+r)r)r*check_required_packageshs z$WheelCommand.check_required_packagesc Cs|jtj|tj||jr.tjdt|jr@tjdt|j rRtjdt|j g|j }|j r|t jddj|g}|jrtjj|j|_tjj|j|_|j|}|j||}|jp|j }t|j|j}t|j|d}t||jd|jd|j|j|||j |j!d } |j"| |||||j#|| j$s6dSzZy6t%| ||j&pJg|j'pTgd } | j(slt)d Wnt*k rd|_YnXWd|js| j+XWdQRXWdQRXdS) Nz--allow-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.z--allow-all-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.z--allow-unverified has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.zIgnoring indexes: %s,)deleteT) r!src_dirZ download_dirignore_dependenciesZignore_installedr isolatedsession wheel_cacheZwheel_download_dirr#)rrz"Failed to build one or more wheels),r-r Zresolve_wheel_no_use_binaryZcheck_install_build_globalZallow_externalwarningswarnr Zallow_all_externalZallow_unverifiedZ index_urlZextra_index_urlsZno_indexloggerdebugjoinr!rpathabspathr0Z_build_sessionZ_build_package_finderr"r cache_dirZformat_controlrrr1r Z isolated_moderr#Zpopulate_requirement_setnameZhas_requirementsr rrZbuildrrZ cleanup_files) r%rr&Z index_urlsr3finderZ build_deleter4r!Zrequirement_setwbr)r)r*run|sv         zWheelCommand.run) __name__ __module__ __qualname____doc__r=ZusageZsummaryrr-r@ __classcell__r)r))r(r*r s  :r )Z __future__rZloggingrr5Zpip.basecommandrZpip.exceptionsrrZpip.reqrZ pip.utilsrZpip.utils.buildrZpip.utils.deprecationr Z pip.wheelr r Zpipr Z getLoggerrAr7r r)r)r)r*s        PKe[c  %__pycache__/completion.cpython-36.pycnu[3 Pf @sDddlmZddlZddlmZdZddddZGd d d eZdS) )absolute_importN)CommandzJ # pip %(shell)s completion start%(script)s# pip %(shell)s completion end z _pip_completion() { COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]}" \ COMP_CWORD=$COMP_CWORD \ PIP_AUTO_COMPLETE=1 $1 ) ) } complete -o default -F _pip_completion pip z function _pip_completion { local words cword read -Ac words read -cn cword reply=( $( COMP_WORDS="$words[*]" \ COMP_CWORD=$(( cword-1 )) \ PIP_AUTO_COMPLETE=1 $words[1] ) ) } compctl -K _pip_completion pip a function __fish_complete_pip set -lx COMP_WORDS (commandline -o) "" set -lx COMP_CWORD (math (contains -i -- (commandline -t) $COMP_WORDS)-1) set -lx PIP_AUTO_COMPLETE 1 string split \ -- (eval $COMP_WORDS[1]) end complete -fa "(__fish_complete_pip)" -c pip )bashzshfishcs0eZdZdZdZdZfddZddZZS)CompletionCommandz3A helper command to be used for command completion.Z completionz-A helper command used for command completion.csltt|j|||j}|jddddddd|jdd dd dd d|jd d ddddd|jjd|dS)Nz--bashz-b store_constrshellzEmit completion code for bash)actionconstdesthelpz--zshz-zrzEmit completion code for zshz--fishz-frzEmit completion code for fishr)superr__init__cmd_optsZ add_optionparserZinsert_option_group)selfargskwr) __class__ /usr/lib/python3.6/completion.pyr-s*zCompletionCommand.__init__cCsbtj}ddt|D}|j|krHtj|jd}tt||jdntjj ddj |dS)z-Prints the completion code of the given shellcSsg|] }d|qS)z--r).0r rrr Jsz)CompletionCommand.run..)scriptr zERROR: You must pass %s z or N) COMPLETION_SCRIPTSkeyssortedr getprintBASE_COMPLETIONsysstderrwritejoin)rZoptionsrZshellsZ shell_optionsrrrrrunGs zCompletionCommand.run) __name__ __module__ __qualname____doc__nameZsummaryrr& __classcell__rr)rrr(s  r)Z __future__rr"Zpip.basecommandrr!rrrrrrs    PKe[M#__pycache__/download.cpython-36.pycnu[3 Pf@sddlmZddlZddlZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZmZdd lmZdd lmZejeZGd d d e ZdS) )absolute_importN) CommandError) FormatControl)RequirementSet)RequirementCommand) cmdoptions) ensure_dirnormalize_path)BuildDirectory)check_path_ownercs4eZdZdZdZdZdZfddZddZZ S) DownloadCommandaL Download packages from: - PyPI (and other indexes) using requirement specifiers. - VCS project urls. - Local project directories. - Local or remote source archives. pip also supports downloading from "requirements files", which provide an easy way to specify a whole environment to be downloaded. Zdownloada% %prog [options] [package-index-options] ... %prog [options] -r [package-index-options] ... %prog [options] [-e] ... %prog [options] [-e] ... %prog [options] ...zDownload packages.c s\tt|j|||j}|jtj|jtj|jtj|jtj |jtj |jtj |jtj |jtj |jtj|jtj|jtj|jtj|jddddddtjdd|jd d d dd d|jd d d ddd|jdddddd|jddddddtjtj|j}|jjd||jjd|dS)Nz-dz--destz--destination-dirz--destination-directory download_dirdirzDownload packages into .)destmetavardefaulthelpz --platformplatformz`Only download wheels compatible with . Defaults to the platform of the running system.z--python-versionpython_versiona&Only download wheels compatible with Python interpreter version . If not specified, then the current system interpreter minor version is used. A major version (e.g. '2') can be specified to match all minor revs of that major version. A minor version (e.g. '34') can also be specified.z--implementationimplementationzOnly download wheels compatible with Python implementation , e.g. 'pp', 'jy', 'cp', or 'ip'. If not specified, then the current interpreter implementation is used. Use 'py' to force implementation-agnostic wheels.z--abiabizOnly download wheels compatible with Python abi , e.g. 'pypy_41'. If not specified, then the current interpreter abi tag is used. Generally you will need to specify --implementation, --platform, and --python-version when using this option.r)superr __init__cmd_optsZ add_optionrZ constraintsZeditableZ requirements build_dirZno_depsZglobal_optionsZ no_binaryZ only_binarysrcZpreno_cleanrequire_hashesoscurdirZmake_option_groupZnon_deprecated_index_groupparserZinsert_option_group)selfargskwrZ index_opts) __class__/usr/lib/python3.6/download.pyr*sbzDownloadCommand.__init__c Csd|_|jr|jg}nd}t|j|j|j|jg}tttdg}|rZ|j|krZt dt j j |j |_ t|j|_t|j|j|}|j|||j||j|jd}|jp|j }|jrt|j rtjd|jd|_t|j|d} t| |j |jd|j||j|jd} |j| |||||jd| j s2dS| j!|dj"d d | j#D} | rdtj$d | |jst| j%WdQRXWdQRX| S) NTz:all:z--only-binary=:all: must be set and --no-binary must not be set (or must be set to :none:) when restricting platform and interpreter constraints using --python-version, --platform, --abi, or --implementation.)optionssessionrpython_versionsrrzThe directory '%s' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.)delete)rsrc_dirr ignore_installedignore_dependenciesr(isolatedr cSsg|] }|jqSr%)name).0Zreqr%r%r& sz'DownloadCommand.run..zSuccessfully downloaded %s)&r,ranyrrrrsetZformat_controlrrpathabspathr+r r rZ_build_sessionZ_build_package_finderrr cache_dirr loggerZwarningr rr-Z isolated_moderZpopulate_requirement_setr0Zhas_requirementsZ prepare_filesjoinZsuccessfully_downloadedinfoZ cleanup_files) r!r'r"r)Zdist_restriction_setZ binary_onlyr(finderZ build_deleterZrequirement_setZ downloadedr%r%r&run{sx         zDownloadCommand.run) __name__ __module__ __qualname____doc__r0ZusageZsummaryrr< __classcell__r%r%)r$r&r s   Qr )Z __future__rZloggingrZpip.exceptionsrZ pip.indexrZpip.reqrZpip.basecommandrZpiprZ pip.utilsrr Zpip.utils.buildr Zpip.utils.filesystemr Z getLoggerr=r8r r%r%r%r&s         PKe[ !__pycache__/freeze.cpython-36.pycnu[3 Pf @sdddlmZddlZddlZddlmZddlmZddlm Z ddl m Z d Z Gd d d eZ dS))absolute_importN) stdlib_pkgs)Command)freeze) WheelCachepip setuptools distributewheelcs8eZdZdZdZdZdZd ZfddZdd Z Z S) FreezeCommandzx Output installed packages in requirements format. packages are listed in a case-insensitive sorted order. rz %prog [options]z1Output installed packages in requirements format.ext://sys.stderrc stt|j|||jjddddgddd|jjdd d dgd d d|jjd dddddd|jjdddddd|jjdddddjtd|jjd|jdS)Nz-rz --requirement requirementsappendfilez}Use the order in the given requirements file and its comments when generating output. This option can be used multiple times.)destactiondefaultmetavarhelpz-fz --find-links find_linksZURLzs     PKe[mm%__pycache__/hash.cpython-36.opt-1.pycnu[3 Pf=@s~ddlmZddlZddlZddlZddlmZddlmZddl m Z ddl m Z m Z ejeZGdddeZd d ZdS) )absolute_importN)Command)ERROR) read_chunks) FAVORITE_HASH STRONG_HASHEScs4eZdZdZdZdZdZfddZddZZ S) HashCommandz Compute a hash of a local package archive. These can be used with --hash in a requirements file to do repeatable installs. hashz%prog [options] ...z#Compute hashes of package archives.c sJtt|j|||jjdddtdtddjtd|jj d|jdS) Nz-az --algorithm algorithmZstorez$The hash algorithm to use: one of %sz, )destchoicesactiondefaulthelpr) superr__init__Zcmd_optsZ add_optionrrjoinparserZinsert_option_group)selfargskw) __class__/usr/lib/python3.6/hash.pyrszHashCommand.__init__cCsD|s|jjtjtS|j}x"|D]}tjd||t||q"WdS)Nz%s: --hash=%s:%s) rZ print_usagesysstderrrr loggerinfo _hash_of_file)rZoptionsrr pathrrrrun(s zHashCommand.run) __name__ __module__ __qualname____doc__nameZusageZsummaryrr __classcell__rr)rrrs  rc CsDt|d,}tj|}xt|D]}|j|q WWdQRX|jS)z!Return the hash digest of a file.rbN)openhashlibnewrupdateZ hexdigest)rr archiver chunkrrrr3s   r)Z __future__rr)ZloggingrZpip.basecommandrZpip.status_codesrZ pip.utilsrZpip.utils.hashesrrZ getLoggerr!rrrrrrrs     #PKe[V3&__pycache__/wheel.cpython-36.opt-1.pycnu[3 Pf1@sddlmZddlZddlZddlZddlmZddlmZm Z ddl m Z ddl m Z ddlmZddlmZdd lmZmZdd lmZejeZGd d d eZdS) )absolute_importN)RequirementCommand) CommandErrorPreviousBuildDirError)RequirementSet)import_or_raise)BuildDirectory)RemovedInPip10Warning) WheelCache WheelBuilder) cmdoptionscs<eZdZdZdZdZdZfddZddZd d Z Z S) WheelCommanda Build Wheel archives for your requirements and dependencies. Wheel is a built-package format, and offers the advantage of not recompiling your software during every install. For more details, see the wheel docs: https://wheel.readthedocs.io/en/latest/ Requirements: setuptools>=0.8, and wheel. 'pip wheel' uses the bdist_wheel setuptools extension from the wheel package to build individual wheels. Zwheelz %prog [options] ... %prog [options] -r ... %prog [options] [-e] ... %prog [options] [-e] ... %prog [options] ...z$Build wheels from your requirements.csPtt|j|||j}|jddddtjdd|jtj|jtj |jtj |jtj |jddd d d d |jtj |jtj |jtj|jtj|jtj|jtj|jtj|jd dd d dd|jddddd|jtj|jtjtjtj|j}|jjd||jjd|dS)Nz-wz --wheel-dir wheel_dirdirzLBuild wheels into , where the default is the current working directory.)destmetavardefaulthelpz--build-option build_optionsoptionsappendz9Extra arguments to be supplied to 'setup.py bdist_wheel'.)rractionrz--global-optionglobal_optionszZExtra global options to be supplied to the setup.py call before the 'bdist_wheel' command.)rrrrz--pre store_trueFzYInclude pre-release and development versions. By default, pip only finds stable versions.)rrrr)superr __init__cmd_optsZ add_optionoscurdirr Z use_wheelZ no_use_wheelZ no_binaryZ only_binaryZ constraintsZeditableZ requirementssrcignore_requires_pythonZno_deps build_dirno_cleanrequire_hashesZmake_option_groupZ index_groupparserZinsert_option_group)selfargskwrZ index_opts) __class__/usr/lib/python3.6/wheel.pyr.sVzWheelCommand.__init__cCs.tdtdtdtd}t|ds*tddS)Nzwheel.bdist_wheelzM'pip wheel' requires the 'wheel' package. To fix this, run: pip install wheel pkg_resourceszp'pip wheel' requires setuptools >= 0.8 for dist-info support. To fix this, run: pip install --upgrade setuptoolsZDistInfoDistribution)rrhasattr)r%r+r)r)r*check_required_packageshs z$WheelCommand.check_required_packagesc Cs|jtj|tj||jr.tjdt|jr@tjdt|j rRtjdt|j g|j }|j r|t jddj|g}|jrtjj|j|_tjj|j|_|j|}|j||}|jp|j }t|j|j}t|j|d}t||jd|jd|j|j|||j |j!d } |j"| |||||j#|| j$s6dSzZy6t%| ||j&pJg|j'pTgd } | j(slt)d Wnt*k rd|_YnXWd|js| j+XWdQRXWdQRXdS) Nz--allow-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.z--allow-all-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.z--allow-unverified has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.zIgnoring indexes: %s,)deleteT) r!src_dirZ download_dirignore_dependenciesZignore_installedr isolatedsession wheel_cacheZwheel_download_dirr#)rrz"Failed to build one or more wheels),r-r Zresolve_wheel_no_use_binaryZcheck_install_build_globalZallow_externalwarningswarnr Zallow_all_externalZallow_unverifiedZ index_urlZextra_index_urlsZno_indexloggerdebugjoinr!rpathabspathr0Z_build_sessionZ_build_package_finderr"r cache_dirZformat_controlrrr1r Z isolated_moderr#Zpopulate_requirement_setnameZhas_requirementsr rrZbuildrrZ cleanup_files) r%rr&Z index_urlsr3finderZ build_deleter4r!Zrequirement_setwbr)r)r*run|sv         zWheelCommand.run) __name__ __module__ __qualname____doc__r=ZusageZsummaryrr-r@ __classcell__r)r))r(r*r s  :r )Z __future__rZloggingrr5Zpip.basecommandrZpip.exceptionsrrZpip.reqrZ pip.utilsrZpip.utils.buildrZpip.utils.deprecationr Z pip.wheelr r Zpipr Z getLoggerrAr7r r)r)r)r*s        PKe[c  +__pycache__/completion.cpython-36.opt-1.pycnu[3 Pf @sDddlmZddlZddlmZdZddddZGd d d eZdS) )absolute_importN)CommandzJ # pip %(shell)s completion start%(script)s# pip %(shell)s completion end z _pip_completion() { COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]}" \ COMP_CWORD=$COMP_CWORD \ PIP_AUTO_COMPLETE=1 $1 ) ) } complete -o default -F _pip_completion pip z function _pip_completion { local words cword read -Ac words read -cn cword reply=( $( COMP_WORDS="$words[*]" \ COMP_CWORD=$(( cword-1 )) \ PIP_AUTO_COMPLETE=1 $words[1] ) ) } compctl -K _pip_completion pip a function __fish_complete_pip set -lx COMP_WORDS (commandline -o) "" set -lx COMP_CWORD (math (contains -i -- (commandline -t) $COMP_WORDS)-1) set -lx PIP_AUTO_COMPLETE 1 string split \ -- (eval $COMP_WORDS[1]) end complete -fa "(__fish_complete_pip)" -c pip )bashzshfishcs0eZdZdZdZdZfddZddZZS)CompletionCommandz3A helper command to be used for command completion.Z completionz-A helper command used for command completion.csltt|j|||j}|jddddddd|jdd dd dd d|jd d ddddd|jjd|dS)Nz--bashz-b store_constrshellzEmit completion code for bash)actionconstdesthelpz--zshz-zrzEmit completion code for zshz--fishz-frzEmit completion code for fishr)superr__init__cmd_optsZ add_optionparserZinsert_option_group)selfargskwr) __class__ /usr/lib/python3.6/completion.pyr-s*zCompletionCommand.__init__cCsbtj}ddt|D}|j|krHtj|jd}tt||jdntjj ddj |dS)z-Prints the completion code of the given shellcSsg|] }d|qS)z--r).0r rrr Jsz)CompletionCommand.run..)scriptr zERROR: You must pass %s z or N) COMPLETION_SCRIPTSkeyssortedr getprintBASE_COMPLETIONsysstderrwritejoin)rZoptionsrZshellsZ shell_optionsrrrrrunGs zCompletionCommand.run) __name__ __module__ __qualname____doc__nameZsummaryrr& __classcell__rr)rrr(s  r)Z __future__rr"Zpip.basecommandrr!rrrrrrs    PKe[5)&__pycache__/check.cpython-36.opt-1.pycnu[3 Pff@sJddlZddlmZddlmZddlmZejeZ GdddeZ dS)N)Command)check_requirements)get_installed_distributionsc@s$eZdZdZdZdZdZddZdS) CheckCommandz7Verify installed packages have compatible dependencies.Zcheckz %prog [options]c Cstdfd}t|\}}x~|D]v}d|j|jf}x*|j|gD]}tjd|j|j|jq@Wx4|j|gD]$\}} tjd|j|j|| j| jqlWqW|s|rdStjddS)NF)Z local_onlyskipz%s==%sz*%s %s requires %s, which is not installed.z-%s %s has requirement %s, but you have %s %s.zNo broken requirements found.)rrZ project_nameversiongetloggerinfo) selfZoptionsargsZdistsZmissing_reqs_dictZincompatible_reqs_dictZdistkeyZ requirementactualr/usr/lib/python3.6/check.pyruns     zCheckCommand.runN)__name__ __module__ __qualname____doc__nameZusageZsummaryrrrrrr s r) ZloggingZpip.basecommandrZpip.operations.checkrZ pip.utilsrZ getLoggerrr rrrrrs     PKe[Yj7%__pycache__/help.cpython-36.opt-1.pycnu[3 Pf@s<ddlmZddlmZmZddlmZGdddeZdS))absolute_import)CommandSUCCESS) CommandErrorc@s$eZdZdZdZdZdZddZdS) HelpCommandzShow help for commandshelpz %prog zShow help for commands.c Csddlm}m}y |d}Wntk r0tSX||krl||}d|g}|r^|jd|tdj|||}|jj tS)Nr) commands_dictget_similar_commandszunknown command "%s"zmaybe you meant "%s"z - ) Z pip.commandsrr IndexErrorrappendrjoinparserZ print_help) selfZoptionsargsrr Zcmd_nameZguessmsgZcommandr/usr/lib/python3.6/help.pyruns    zHelpCommand.runN)__name__ __module__ __qualname____doc__nameZusageZsummaryrrrrrrs rN)Z __future__rZpip.basecommandrrZpip.exceptionsrrrrrrs  PKe[`X..'__pycache__/search.cpython-36.opt-1.pycnu[3 Pf@sddlmZddlZddlZddlZddlmZmZddlm Z ddl m Z ddl m Z ddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZejeZGdddeZ ddZ!dddZ"ddZ#dS))absolute_importN)CommandSUCCESS) OrderedDict)PipXmlrpcTransport)PyPI)get_terminal_size) indent_log) CommandError)NO_MATCHES_FOUND)parse) pkg_resources) xmlrpc_clientcs<eZdZdZdZdZdZfddZddZd d Z Z S) SearchCommandz@Search for PyPI packages whose name or summary contains .searchz %prog [options] zSearch PyPI for packages.cs@tt|j|||jjddddtjdd|jjd|jdS)Nz-iz--indexindexZURLz3Base URL of Python Package Index (default %default))destmetavardefaulthelpr) superr__init__Zcmd_optsZ add_optionrZpypi_urlparserZinsert_option_group)selfargskw) __class__/usr/lib/python3.6/search.pyrszSearchCommand.__init__cCsT|s td|}|j||}t|}d}tjjrt k rJYq>Xq>WdS)NcSs.g|]&}t|dt|jddgdqS)r)r2-)lenget).0r8rrr csz!print_results..cSsg|] }|jqSr)Z project_name)r>prrrr?gsr)r*r2r9r:   z %-*s - %sz%s (%s)zINSTALLED: %s (latest)z INSTALLED: %sz LATEST: %sr;)maxr Z working_setr=textwrapZwrapjoinloggerinfoZget_distributionr r5r1UnicodeEncodeError) r'Zname_column_widthrZinstalled_packagesr8r)r*r1Z target_widthlineZdistZlatestrrrr$^s>        r$cCs t|tdS)N)key)rH parse_version)r2rrrr5sr5)NN)$Z __future__rZloggingr!rIZpip.basecommandrrZ pip.compatrZ pip.downloadrZ pip.modelsrZ pip.utilsrZpip.utils.loggingr Zpip.exceptionsr Zpip.status_codesr Zpip._vendor.packaging.versionr rPZ pip._vendorr Zpip._vendor.six.movesrZ getLoggerr,rKrr r$r5rrrrs&            + &PKe[7__pycache__/show.cpython-36.pycnu[3 Pf@sddlmZddlmZddlZddlZddlmZddlm Z m Z ddl m Z ddl mZejeZGdd d eZd d Zdd dZdS))absolute_import) FeedParserN)Command)SUCCESSERROR) pkg_resources)canonicalize_namecs4eZdZdZdZdZdZfddZddZZ S) ShowCommandz6Show information about one or more installed packages.Zshowz$ %prog [options] ...z*Show information about installed packages.cs>tt|j|||jjddddddd|jjd|jdS) Nz-fz--filesfiles store_trueFz7Show the full list of installed files for each package.)destactiondefaulthelpr)superr __init__Zcmd_optsZ add_optionparserZinsert_option_group)selfargskw) __class__/usr/lib/python3.6/show.pyrszShowCommand.__init__cCs8|stjdtS|}t|}t||j|jds4tStS)Nz.ERROR: Please provide a package name or names.) list_filesverbose)loggerZwarningrsearch_packages_info print_resultsr rr)rZoptionsrqueryresultsrrrrun"s zShowCommand.run) __name__ __module__ __qualname____doc__nameZusagesummaryrr __classcell__rr)rrr s  r c#sixtjD]}|t|j<q Wdd|D}xfdd|DD]ΉjjjddjDd}d}d}ttjrވj drȈj d}dd|D}fd d|D}fd d|D}j d r܈j d }nPj d rj d }fd d|D}fdd|D}j dr.j d}j drLj d}||d<j drx,j dD]} | j rd| j |d<PqdWt } | j|| j} xdD]} | j| || <qWg} x4|jD](} | jdr| j| tddqW| |d<|rt||d<|VqFWdS)z Gather details from installed distributions. Print distribution name, version, location, and installed files. Installed files requires a pip generated 'installed-files.txt' in the distributions '.egg-info' directory. cSsg|] }t|qSr)r).0r%rrr :sz(search_packages_info..csg|]}|kr|qSrr)r(Zpkg) installedrrr)<scSsg|] }|jqSr) project_name)r(Zdeprrrr)As)r%versionlocationrequiresNZRECORDcSsg|]}|jddqS),r)split)r(lrrrr)Iscsg|]}tjjj|qSr)ospathjoinr-)r(p)distrrr)Jscsg|]}tjj|jqSr)r2r3relpathr-)r(r5)r6rrr)KsZMETADATAzinstalled-files.txtcsg|]}tjjj|qSr)r2r3r4Zegg_info)r(r5)r6rrr)Sscsg|]}tjj|jqSr)r2r3r7r-)r(r5)r6rrr)TszPKG-INFOzentry_points.txt entry_pointsZ INSTALLER installermetadata-versionr& home-pageauthor author-emaillicensez Classifier: classifiersr )r:r&r;r<r=r>)rZ working_setrr+r,r-r. isinstanceZDistInfoDistributionZ has_metadataZget_metadata_linesZ get_metadatastriprZfeedcloseget splitlines startswithappendlensorted)rr5Z query_namespackageZ file_listZmetadatalinespathsr8lineZ feed_parserZ pkg_info_dictkeyr?r)r6r*rr/s^                  rFc Csd}xt|D]\}}d}|dkr0tjdtjd|jddtjd|jd dtjd |jd dtjd |jd dtjd|jddtjd|jddtjd|jddtjd|jddtjddj|jdg|rxtjd|jddtjd|jddtjdx"|jdgD]}tjd|q0Wtjd x&|jd!gD]}tjd|jq^W|rtjd"x&|jd#gD]}tjd|jqWd#|krtjd$qW|S)%zD Print the informations from installed distributions found. FTrz---zName: %sr%z Version: %sr,z Summary: %sr&z Home-page: %sz home-pagez Author: %sr<zAuthor-email: %sz author-emailz License: %sr>z Location: %sr-z Requires: %sz, r.zMetadata-Version: %szmetadata-versionz Installer: %sr9z Classifiers:r?z %sz Entry-points:r8zFiles:r z!Cannot locate installed-files.txt) enumeraterinforCr4rA) Z distributionsrrZresults_printedir6Z classifierentryrLrrrrxs>    r)FF)Z __future__rZ email.parserrZloggingr2Zpip.basecommandrZpip.status_codesrrZ pip._vendorrZpip._vendor.packaging.utilsrZ getLoggerr!rr rrrrrrs      IPKe[پV *__pycache__/uninstall.cpython-36.opt-1.pycnu[3 PfD @s`ddlmZddlZddlmZddlmZmZmZddl m Z ddl m Z Gddde Z dS) )absolute_importN) WheelCache)InstallRequirementRequirementSetparse_requirements)Command)InstallationErrorcs4eZdZdZdZdZdZfddZddZZ S) UninstallCommandaB Uninstall packages. pip is able to uninstall most installed packages. Known exceptions are: - Pure distutils packages installed with ``python setup.py install``, which leave behind no metadata to determine what files were installed. - Script wrappers installed by ``python setup.py develop``. uninstallzU %prog [options] ... %prog [options] -r ...zUninstall packages.c sVtt|j|||jjddddgddd|jjdd d d d d |jjd|jdS)Nz-rz --requirement requirementsappendfilezjUninstall all the packages listed in the given requirements file. This option can be used multiple times.)destactiondefaultmetavarhelpz-yz--yesyes store_truez2Don't ask for confirmation of uninstall deletions.)rrrr)superr __init__Zcmd_optsZ add_optionparserZinsert_option_group)selfargskw) __class__/usr/lib/python3.6/uninstall.pyrszUninstallCommand.__init__c Cs|j|}tjjtt}t|j|}tddd|j||d}x$|D]}|j t j ||j|dqFWx2|j D](}x"t ||||dD]} |j | qWqnW|jstdt|jd|j|jdWdQRXdS)N)Z build_dirZsrc_dirZ download_dirisolatedsession wheel_cache)rr )optionsrr zLYou must give at least one requirement to %(name)s (see "pip help %(name)s"))name)Z auto_confirm)Z_build_sessionpipindexZ FormatControlsetr cache_dirrZ isolated_modeZadd_requirementrZ from_liner rZhas_requirementsrdictr"r r) rr!rrZformat_controlr Zrequirement_setr"filenameZreqrrrrun-s6     zUninstallCommand.run) __name__ __module__ __qualname____doc__r"ZusageZsummaryrr) __classcell__rr)rrr s   r )Z __future__rr#Z pip.wheelrZpip.reqrrrZpip.basecommandrZpip.exceptionsrr rrrrs    PKe[#(("__pycache__/install.cpython-36.pycnu[3 PfqG @s(ddlmZddlZddlZddlZddlZddlZddlZddlZddlm Z y ddl Z Wne k rtdZ YnXddl m Z ddlmZddlmZmZddlmZmZmZddlmZdd lmZmZdd lmZdd lmZdd l m!Z!dd l"m#Z#m$Z$ej%e&Z'GdddeZ(ddZ)dS))absolute_importN)path)RequirementSet)RequirementCommand)virtualenv_no_globaldistutils_scheme)InstallationError CommandErrorPreviousBuildDirError) cmdoptions) ensure_dirget_installed_version)BuildDirectory)RemovedInPip10Warning)check_path_owner) WheelCache WheelBuildercs4eZdZdZdZdZdZfddZddZZ S) InstallCommandaI Install packages from: - PyPI (and other indexes) using requirement specifiers. - VCS project urls. - Local project directories. - Local or remote source archives. pip also supports installing from "requirements files", which provide an easy way to specify a whole environment to be installed. installa% %prog [options] [package-index-options] ... %prog [options] -r [package-index-options] ... %prog [options] [-e] ... %prog [options] [-e] ... %prog [options] ...zInstall packages.c s0tt|j|||j}|jtj|jtj|jtj|jtj |jddddddd|jddd d d ddd d|jtj |jd ddddd|jdddddgdd|jddddd|jdddddd|jtj |jtj |jtj |jtj|jd d!dd"d|jd#d$dd%d|jd&d'ddd(d|jd)d*d+dd,d|jd-d.ddd/d|jd0dd1d2d3d4|jd5d6d1d7d8|jtj|jtj|jtj|jtj|jtj|jtj|jtjtjtj|j}|jjd9||jjd9|dS):Nz-tz--target target_dirdirzInstall packages into . By default this will not replace existing files/folders in . Use --upgrade to replace existing packages in with new versions.)destmetavardefaulthelpz-dz --downloadz--download-dirz--download-directory download_dirz`Download packages into instead of installing them, regardless of what's already installed.z-Uz --upgradeupgrade store_truezUpgrade all specified packages to the newest available version. The handling of dependencies depends on the upgrade-strategy used.)ractionrz--upgrade-strategyupgrade_strategyZeagerzonly-if-neededa3Determines how dependency upgrading should be handled. "eager" - dependencies are upgraded regardless of whether the currently installed version satisfies the requirements of the upgraded package(s). "only-if-needed" - are upgraded only when they do not satisfy the requirements of the upgraded package(s).)rrchoicesrz--force-reinstallforce_reinstallzKWhen upgrading, reinstall all packages even if they are already up-to-date.z-Iz--ignore-installedignore_installedz5Ignore the installed packages (reinstalling instead).z--user use_user_sitezInstall to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%\Python on Windows. (See the Python documentation for site.USER_BASE for full details.)z--eggas_eggzInstall packages as eggs, not 'flat', like pip normally does. This option is not about installing *from* eggs. (WARNING: Because this option overrides pip's normal install logic, requirements files may not behave as expected.)z--root root_pathz=Install everything relative to this alternate root directory.z--strip-file-prefixstrip_file_prefixprefixz5Strip given prefix from script paths in wheel RECORD.z--prefix prefix_pathzIInstallation prefix where lib, bin and other top-level folders are placedz --compilecompileTzCompile py files to pyc)rrrrz --no-compileZ store_falsezDo not compile py files to pyc)rrrr)superr__init__cmd_optsZ add_optionr Z constraintsZeditableZ requirements build_dirsrcignore_requires_pythonZno_depsinstall_optionsglobal_optionsZ use_wheelZ no_use_wheelZ no_binaryZ only_binaryZpreno_cleanrequire_hashesZmake_option_groupZ index_groupparserZinsert_option_group)selfargskwr,Z index_opts) __class__/usr/lib/python3.6/install.pyr+8szInstallCommand.__init__c&Cstj|tj|dd}tjdkrJ| rJtjdtjt j d|j r\t j dt|jrnt j dt|jrt j dt|jrt j dt|jrt j d td |_|jrtjj|j|_tjj|j|_|jpg}|jr|jrtd trtd |jd |jdd}|jrtd |_tj }tjj|j|_tjj!|jrftjj"|j rftd|jd||j#p~g}|j$|T}|j%||}|j&p|j } t'|j(|j)} |j(rt*|j( rtjd|j(d|_(t+|j| d} t,| |j|j|j-|j.|j |j|j/|j0|j1|j|||j2|j3| |j4d} |j5| |||||j6| | j7s\dSz`y:|js~t8 s~|j( r| j9|nt:| |ggd} | j;d d|jsr| j<|||j=|j|j>dt?|j||j=|j|j3d}t@| jAtBjCdd}g}xX|D]P}|j6}y"tD|j6|}|r*|d|7}WntEk rBYnX|j|qWdjF|}|rtjGd|n(djFdd| jHD}|rtjGd|WntIk rd |_&YnXWd|j&s| jJXWdQRXWdQRX|jrtK|jg}tLd |d!d"}tLd |d!d#}tjj!|r4|j|tjj!|rV||krV|j|x|D]}xtjM|D]}tjjF|j|}tjj!|r|j-stjd$|qltjjN|rtjd%|qltjj"|rtOjP|n tjQ|tOjRtjjF|||qlWq\WtOjP|| S)&NcSs ttdpttdotjtjkS)NZ real_prefix base_prefix)hasattrsysr;r'r9r9r9r:is_venvs z#InstallCommand.run..is_venvrzpWARNING: Running pip install with root privileges is generally not a good idea. Try `%s install --user` instead.z--egg has been deprecated and will be removed in the future. This flag is mutually exclusive with large parts of pip, and actually using it invalidates pip's ability to manage the installation process.z--allow-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.z--allow-all-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.z--allow-unverified has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.zpip install --download has been deprecated and will be removed in the future. Pip now has a download command that should be used instead.TzVCan not combine '--user' and '--prefix' as they imply different installation locationszZCan not perform a '--user' install. User site-packages are not visible in this virtualenv.z--userz --prefix=z=Target path exists but is not a directory, will not continue.z--home=zThe directory '%s' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.)delete)r-src_dirrrrr$r"ignore_dependenciesr/r!r#rsessionZ pycompileisolated wheel_cacher3)Z build_optionsr1)Z autobuilding)rootr'r&)userhomerEr'rCname)key- zSuccessfully installed %scSsg|] }|jqSr9)rH).0reqr9r9r: sz&InstallCommand.run..zSuccessfully downloaded %s)rGpurelibplatlibzKTarget directory %s already exists. Specify --upgrade to force replacement.zTarget directory %s already exists and is a link. Pip will not automatically replace links, please remove if replacement is desired.)Sr Zresolve_wheel_no_use_binaryZcheck_install_build_globalosgetuidloggerZwarningrbasenamer=argvr$warningswarnrZallow_externalZallow_all_externalZallow_unverifiedrr"r-abspathr@r0r#r(r rrappendrtempfileZmkdtempexistsisdirr1Z_build_sessionZ_build_package_finderr2r cache_dirZformat_controlrrrrrrAr/r!r)Z isolated_moder3Zpopulate_requirement_setrHZhas_requirementswheelZ prepare_filesrZbuildrr%r&get_lib_location_guessessortedZsuccessfully_installedoperator attrgetterr ExceptionjoininfoZsuccessfully_downloadedr Z cleanup_filesr rlistdirislinkshutilZrmtreeremoveZmove)r5Zoptionsr6r>r0Ztemp_target_dirr1rBfinderZ build_deleterDr-Zrequirement_setwbZpossible_lib_locationsZreqsitemsrMitemZinstalled_versionZ installedZ downloadedZ lib_dir_listZ purelib_dirZ platlib_dirZlib_dirZtarget_item_dirr9r9r:runsP                            zInstallCommand.run) __name__ __module__ __qualname____doc__rHZusageZsummaryr+ro __classcell__r9r9)r8r:r!s  rcOstd||}|d|dgS)NrOrPrQ)rO)r)r6kwargsschemer9r9r:r`sr`)*Z __future__rZloggingrbrRr[rirWr=rr_ ImportErrorZpip.reqrZpip.basecommandrZ pip.locationsrrZpip.exceptionsrr r Zpipr Z pip.utilsr r Zpip.utils.buildrZpip.utils.deprecationrZpip.utils.filesystemrZ pip.wheelrrZ getLoggerrprTrr`r9r9r9r:s8           ,PKe[5) __pycache__/check.cpython-36.pycnu[3 Pff@sJddlZddlmZddlmZddlmZejeZ GdddeZ dS)N)Command)check_requirements)get_installed_distributionsc@s$eZdZdZdZdZdZddZdS) CheckCommandz7Verify installed packages have compatible dependencies.Zcheckz %prog [options]c Cstdfd}t|\}}x~|D]v}d|j|jf}x*|j|gD]}tjd|j|j|jq@Wx4|j|gD]$\}} tjd|j|j|| j| jqlWqW|s|rdStjddS)NF)Z local_onlyskipz%s==%sz*%s %s requires %s, which is not installed.z-%s %s has requirement %s, but you have %s %s.zNo broken requirements found.)rrZ project_nameversiongetloggerinfo) selfZoptionsargsZdistsZmissing_reqs_dictZincompatible_reqs_dictZdistkeyZ requirementactualr/usr/lib/python3.6/check.pyruns     zCheckCommand.runN)__name__ __module__ __qualname____doc__nameZusageZsummaryrrrrrr s r) ZloggingZpip.basecommandrZpip.operations.checkrZ pip.utilsrZ getLoggerrr rrrrrs     PKe[پV $__pycache__/uninstall.cpython-36.pycnu[3 PfD @s`ddlmZddlZddlmZddlmZmZmZddl m Z ddl m Z Gddde Z dS) )absolute_importN) WheelCache)InstallRequirementRequirementSetparse_requirements)Command)InstallationErrorcs4eZdZdZdZdZdZfddZddZZ S) UninstallCommandaB Uninstall packages. pip is able to uninstall most installed packages. Known exceptions are: - Pure distutils packages installed with ``python setup.py install``, which leave behind no metadata to determine what files were installed. - Script wrappers installed by ``python setup.py develop``. uninstallzU %prog [options] ... %prog [options] -r ...zUninstall packages.c sVtt|j|||jjddddgddd|jjdd d d d d |jjd|jdS)Nz-rz --requirement requirementsappendfilezjUninstall all the packages listed in the given requirements file. This option can be used multiple times.)destactiondefaultmetavarhelpz-yz--yesyes store_truez2Don't ask for confirmation of uninstall deletions.)rrrr)superr __init__Zcmd_optsZ add_optionparserZinsert_option_group)selfargskw) __class__/usr/lib/python3.6/uninstall.pyrszUninstallCommand.__init__c Cs|j|}tjjtt}t|j|}tddd|j||d}x$|D]}|j t j ||j|dqFWx2|j D](}x"t ||||dD]} |j | qWqnW|jstdt|jd|j|jdWdQRXdS)N)Z build_dirZsrc_dirZ download_dirisolatedsession wheel_cache)rr )optionsrr zLYou must give at least one requirement to %(name)s (see "pip help %(name)s"))name)Z auto_confirm)Z_build_sessionpipindexZ FormatControlsetr cache_dirrZ isolated_modeZadd_requirementrZ from_liner rZhas_requirementsrdictr"r r) rr!rrZformat_controlr Zrequirement_setr"filenameZreqrrrrun-s6     zUninstallCommand.run) __name__ __module__ __qualname____doc__r"ZusageZsummaryrr) __classcell__rr)rrr s   r )Z __future__rr#Z pip.wheelrZpip.reqrrrZpip.basecommandrZpip.exceptionsrr rrrrs    PKe[2%%%__pycache__/list.cpython-36.opt-1.pycnu[3 Pfi, @sddlmZddlZddlZddlZyddlmZWn ek rTddlmZYnXddl m Z ddl m Z ddl mZddlmZdd lmZmZdd lmZdd lmZmZejeZGd d d e ZddZddZddZdS))absolute_importN) zip_longest) izip_longest)six)Command) CommandError) PackageFinder)get_installed_distributionsdist_is_editable)RemovedInPip10Warning)make_option_group index_groupcs|eZdZdZdZdZdZfddZddZd d Z d d Z d dZ ddZ ddZ ddZddZddZddZZS) ListCommandzt List installed packages, including editables. Packages are listed in a case-insensitive sorted order. listz %prog [options]zList installed packages.cstt|j|||j}|jdddddd|jddddd d|jd d ddd d|jd ddddd|jjdddddd|jddddd|jdddd$dd|jddd d!d"tt|j}|jjd#||jjd#|dS)%Nz-oz --outdated store_trueFzList outdated packages)actiondefaulthelpz-uz --uptodatezList uptodate packagesz-ez --editablezList editable projects.z-lz--localzSIf in a virtualenv that has global access, do not list globally-installed packages.z--useruserz,Only output packages installed in user-site.)destrrrz--prezYInclude pre-release and development versions. By default, pip only finds stable versions.z--formatZstore list_formatlegacycolumnsfreezejsonzJSelect the output format among: legacy (default), columns, freeze or json.)rrchoicesrz--not-required not_requiredz>List packages that are not dependencies of installed packages.)rrrr)rrrr) superr__init__cmd_optsZ add_optionr r parserZinsert_option_group)selfargskwrZ index_opts) __class__/usr/lib/python3.6/list.pyr#s^ zListCommand.__init__cCst|j||j|j|j|dS)zK Create a package finder appropriate to this list command. ) find_links index_urlsZallow_all_prereleases trusted_hostsprocess_dependency_linkssession)rr'prer)r*)r!optionsr(r+r%r%r&_build_package_findercsz!ListCommand._build_package_findercCs|jrtjdt|jr$tjdt|jr6tjdt|jdkrLtjdt|jr`|jr`t dt |j |j |j d}|jr|j||}n|jr|j||}|jr|j||}|j||dS)Nz--allow-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.z--allow-all-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.z--allow-unverified has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.zThe default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.z5Options --outdated and --uptodate cannot be combined.)Z local_onlyZ user_onlyZeditables_only)Zallow_externalwarningswarnr Zallow_all_externalZallow_unverifiedroutdatedZuptodaterr ZlocalrZeditable get_outdated get_uptodaterget_not_requiredoutput_package_listing)r!r-r"packagesr%r%r&runps<     zListCommand.runcCsdd|j||DS)NcSsg|]}|j|jkr|qSr%)latest_versionparsed_version).0distr%r%r& sz,ListCommand.get_outdated..)iter_packages_latest_infos)r!r6r-r%r%r&r2szListCommand.get_outdatedcCsdd|j||DS)NcSsg|]}|j|jkr|qSr%)r8r9)r:r;r%r%r&r<sz,ListCommand.get_uptodate..)r=)r!r6r-r%r%r&r3szListCommand.get_uptodatecsBtx$|D]}jdd|jDq Wtfdd|DS)Ncss|] }|jVqdS)N)key)r:Z requirementr%r%r& sz/ListCommand.get_not_required..c3s|]}|jkr|VqdS)N)r>)r:Zpkg)dep_keysr%r&r?s)setupdateZrequires)r!r6r-r;r%)r@r&r4s zListCommand.get_not_requiredc cs|jg|j}|jr*tjddj|g}g}x&|D]}|jdr4|j|jdq4W|j |}|j |||}|j |xn|D]f}d}|j |j } |jsdd| D} | sqt| |jd} | j} | jjrd}nd }| |_||_|VqWWdQRXdS) NzIgnoring indexes: %s,zdependency_links.txtunknowncSsg|]}|jjs|qSr%)versionZ is_prerelease)r: candidater%r%r&r<sz:ListCommand.iter_packages_latest_infos..)r>ZwheelZsdist)Z index_urlZextra_index_urlsZno_indexloggerdebugjoinZ has_metadataextendZget_metadata_linesZ_build_sessionr.Zadd_dependency_linksZfind_all_candidatesr>r,maxZ_candidate_sort_keyrElocationZis_wheelr8latest_filetype) r!r6r-r(Zdependency_linksr;r+findertypZall_candidatesZbest_candidateZremote_versionr%r%r&r=s8       z&ListCommand.iter_packages_latest_infoscCs0t|rd|j|j|jfSd|j|jfSdS)Nz %s (%s, %s)z%s (%s))r project_namerErL)r!r;r%r%r& output_legacys  zListCommand.output_legacycCsd|j||j|jfS)Nz%s - Latest: %s [%s])rQr8rM)r!r;r%r%r&output_legacy_latestsz ListCommand.output_legacy_latestcCst|ddd}|jdkr:|r:t||\}}|j||n~|jdkrfxr|D]}tjd|j|jqJWnR|jdkrtjt||n6x4|D],}|j rtj|j |qtj|j |qWdS)NcSs |jjS)N)rPlower)r;r%r%r&sz4ListCommand.output_package_listing..)r>rrz%s==%sr) sortedrformat_for_columnsoutput_package_listing_columnsrGinforPrEformat_for_jsonr1rRrQ)r!r6r-dataheaderr;r%r%r&r5s     z"ListCommand.output_package_listingcCsht|dkr|jd|t|\}}t|dkrL|jddjtdd|x|D]}tj|qRWdS)Nr cSsd|S)N-r%)xr%r%r&rT sz.)leninserttabulaterImaprGrX)r!rZr[Z pkg_stringssizesvalr%r%r&rWs     z*ListCommand.output_package_listing_columns)__name__ __module__ __qualname____doc__nameZusageZsummaryrr.r7r2r3r4r=rQrRr5rW __classcell__r%r%)r$r&rs @ 6' rcCsxdgtdd|D}x |D]}ddt||D}qWg}x0|D](}djddt||D}|j|qDW||fS)Nrcss|]}t|VqdS)N)r`)r:r_r%r%r&r?sztabulate..cSs"g|]\}}t|tt|qSr%)rKr`str)r:scr%r%r&r<sztabulate..r]cSs*g|]"\}}|dk r"t|j|ndqS)N)rlljust)r:rmrnr%r%r&r<s)rKrrIappend)valsrdrowresultZdisplayr%r%r&rbs   rbcCs|j}|rddddg}nddg}g}tdd|Dr@|jdxR|D]J}|j|jg}|rr|j|j|j|jt|r|j|j|j|qFW||fS)z_ Convert the package data into something usable by output_package_listing_columns. ZPackageZVersionZLatestZTypecss|]}t|VqdS)N)r )r:r_r%r%r&r?2sz%format_for_columns..ZLocation) r1anyrqrPrEr8rMr rL)Zpkgsr-Zrunning_outdatedr[rZZprojrsr%r%r&rV%s       rVcCsZg}xJ|D]B}|jtj|jd}|jrBtj|j|d<|j|d<|j|q Wtj |S)N)rjrEr8rM) rPrZ text_typerEr1r8rMrqrdumps)r6r-rZr;rXr%r%r&rYFs  rY) Z __future__rrZloggingr/ itertoolsr ImportErrorrZ pip._vendorrZpip.basecommandrZpip.exceptionsrZ pip.indexrZ pip.utilsr r Zpip.utils.deprecationr Zpip.cmdoptionsr r Z getLoggerrfrGrrbrVrYr%r%r%r&s(       |!PKe[`X..!__pycache__/search.cpython-36.pycnu[3 Pf@sddlmZddlZddlZddlZddlmZmZddlm Z ddl m Z ddl m Z ddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZejeZGdddeZ ddZ!dddZ"ddZ#dS))absolute_importN)CommandSUCCESS) OrderedDict)PipXmlrpcTransport)PyPI)get_terminal_size) indent_log) CommandError)NO_MATCHES_FOUND)parse) pkg_resources) xmlrpc_clientcs<eZdZdZdZdZdZfddZddZd d Z Z S) SearchCommandz@Search for PyPI packages whose name or summary contains .searchz %prog [options] zSearch PyPI for packages.cs@tt|j|||jjddddtjdd|jjd|jdS)Nz-iz--indexindexZURLz3Base URL of Python Package Index (default %default))destmetavardefaulthelpr) superr__init__Zcmd_optsZ add_optionrZpypi_urlparserZinsert_option_group)selfargskw) __class__/usr/lib/python3.6/search.pyrszSearchCommand.__init__cCsT|s td|}|j||}t|}d}tjjrt k rJYq>Xq>WdS)NcSs.g|]&}t|dt|jddgdqS)r)r2-)lenget).0r8rrr csz!print_results..cSsg|] }|jqSr)Z project_name)r>prrrr?gsr)r*r2r9r:   z %-*s - %sz%s (%s)zINSTALLED: %s (latest)z INSTALLED: %sz LATEST: %sr;)maxr Z working_setr=textwrapZwrapjoinloggerinfoZget_distributionr r5r1UnicodeEncodeError) r'Zname_column_widthrZinstalled_packagesr8r)r*r1Z target_widthlineZdistZlatestrrrr$^s>        r$cCs t|tdS)N)key)rH parse_version)r2rrrr5sr5)NN)$Z __future__rZloggingr!rIZpip.basecommandrrZ pip.compatrZ pip.downloadrZ pip.modelsrZ pip.utilsrZpip.utils.loggingr Zpip.exceptionsr Zpip.status_codesr Zpip._vendor.packaging.versionr rPZ pip._vendorr Zpip._vendor.six.movesrZ getLoggerr,rKrr r$r5rrrrs&            + &PKōe[~U#[[ search.pyonu[PKōe[GD9B/B/ install.pyonu[PKōe[)P Cuninstall.pyonu[PKōe[|y y .Ofreeze.pyonu[PKōe[ޕ\ [download.pyonu[PKōe[==:thash.pynu[PKōe[_++zlist.pycnu[PKōe[1WN N icompletion.pyonu[PKōe[K8i,i,list.pynu[PKōe[ S$show.pynu[PKōe[xHHhelp.pyonu[PKōe[{hL L O__init__.pycnu[PKōe[P wheel.pyonu[PKōe[ޕ\ download.pycnu[PKōe[a;_ffG7check.pynu[PKōe[5c c <hash.pycnu[PKōe[1WN N Fcompletion.pycnu[PKōe[5c c  Rhash.pyonu[PKōe[ [download.pynu[PKōe[Hssdzshow.pyonu[PKōe[?D D uninstall.pynu[PKōe[|y y freeze.pycnu[PKōe[7s11Bwheel.pynu[PKōe[bO-V+V+list.pyonu[PKōe[GD9B/B/ 9install.pycnu[PKōe[Н"help.pynu[PKōe[M`qGqG &install.pynu[PKōe[P nnwheel.pycnu[PKōe[Bܖ search.pynu[PKōe[~U#[[ Tsearch.pycnu[PKōe[{hL L __init__.pyonu[PKōe[xHHqhelp.pycnu[PKōe[0̳ completion.pynu[PKōe[y[,?? check.pyonu[PKōe[Hss;show.pycnu[PKōe[)P uninstall.pycnu[PKōe[`  freeze.pynu[PKōe[y[,?? Ncheck.pycnu[PKōe[ C __init__.pynu[PKe[7% __pycache__/show.cpython-36.opt-1.pycnu[PKe[#(((__pycache__/install.cpython-36.opt-1.pycnu[PKe[ 'H__pycache__/freeze.cpython-36.opt-1.pycnu[PKe[K@;%%LS__pycache__/list.cpython-36.pycnu[PKe[^#Zy__pycache__/__init__.cpython-36.pycnu[PKe[Yj7__pycache__/help.cpython-36.pycnu[PKe[^)__pycache__/__init__.cpython-36.opt-1.pycnu[PKe[M)__pycache__/download.cpython-36.opt-1.pycnu[PKe[mmi__pycache__/hash.cpython-36.pycnu[PKe[V3 %__pycache__/wheel.cpython-36.pycnu[PKe[c  %__pycache__/completion.cpython-36.pycnu[PKe[M#__pycache__/download.cpython-36.pycnu[PKe[ !:__pycache__/freeze.cpython-36.pycnu[PKe[mm%__pycache__/hash.cpython-36.opt-1.pycnu[PKe[V3&M__pycache__/wheel.cpython-36.opt-1.pycnu[PKe[c  +__pycache__/completion.cpython-36.opt-1.pycnu[PKe[5)&(__pycache__/check.cpython-36.opt-1.pycnu[PKe[Yj7%]__pycache__/help.cpython-36.opt-1.pycnu[PKe[`X..'__pycache__/search.cpython-36.opt-1.pycnu[PKe[7S,__pycache__/show.cpython-36.pycnu[PKe[پV *cA__pycache__/uninstall.cpython-36.opt-1.pycnu[PKe[#(("K__pycache__/install.cpython-36.pycnu[PKe[5) t__pycache__/check.cpython-36.pycnu[PKe[پV $y__pycache__/uninstall.cpython-36.pycnu[PKe[2%%%(__pycache__/list.cpython-36.opt-1.pycnu[PKe[`X..!__pycache__/search.cpython-36.pycnu[PKAAk