Spade
Mini Shell
| Directory:~$ /proc/self/root/usr/lib/python3.6/site-packages/pip/commands/__pycache__/ |
| [Home] [System Details] [Kill Me] |
3
���^��@s�ddlmZddlZddlZddlmZddlmZddlm Z ddl
mZddlm
Z
ddlmZmZdd lmZdd
lmZeje�ZGdd�de�ZdS)
�)�absolute_importN)�CommandError)�
FormatControl)�RequirementSet)�RequirementCommand)�
cmdoptions)�
ensure_dir�normalize_path)�BuildDirectory)�check_path_ownercs4eZdZdZdZdZdZ�fdd�Zdd�Z�Z 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] <requirement specifier> [package-index-options]
...
%prog [options] -r <requirements file> [package-index-options]
...
%prog [options] [-e] <vcs project url> ...
%prog [options] [-e] <local project path> ...
%prog [options] <archive url/path> ...zDownload packages.c
s\tt|�j||�|j}|jtj��|jtj��|jtj��|jtj ��|jtj
��|jtj��|jtj��|jtj
��|jtj��|jtj��|jtj��|jtj��|jddddddtjdd�|jd d
d
ddd�|jdd
d
ddd�|jdddddd�|jdddddd�tjtj|j�}|jjd|�|jjd|�dS)Nz-dz--destz--destination-dirz--destination-directory�download_dir�dirzDownload
packages into <dir>.)�dest�metavar�default�helpz
--platform�platformz`Only download wheels compatible with
<platform>. Defaults to the platform of the running
system.z--python-version�python_versiona&Only download wheels
compatible with Python interpreter version <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--implementation�implementationz�Only download wheels
compatible with Python implementation <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--abi�abiz�Only download wheels compatible with Python abi
<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_optionrZconstraintsZeditableZrequirements� build_dirZno_depsZglobal_optionsZ no_binaryZonly_binary�srcZpre�no_clean�require_hashes�os�curdirZmake_option_groupZnon_deprecated_index_group�parserZinsert_option_group)�self�args�kwrZ
index_opts)� __class__��/usr/lib/python3.6/download.pyr*sbzDownloadCommand.__init__cCs�d|_|jr|jg}nd}t|j|j|j|jg�}tt�tdg��}|rZ|j|krZt d��t
jj|j
�|_
t|j�|_t|j�|j|���}|j|||j||j|jd�}|jp�|j}|jr�t|j�r�tjd|j�d|_t|j|d���} t| |j
|jd|j||j|jd�}
|j|
|||||jd�|
j �s2dS|
j!|�dj"d d
�|
j#D��}|�rdtj$d|�|j�st|
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.)�options�sessionr�python_versionsrrz�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.)�delete)r�src_dirr
�ignore_installed�ignore_dependenciesr(�isolatedr�
cSsg|]
}|j�qSr%)�name)�.0Zreqr%r%r&�
<listcomp>�sz'DownloadCommand.run.<locals>.<listcomp>zSuccessfully
downloaded
%s)&r,r�anyrrrr�setZformat_controlrr�path�abspathr+r r
rZ_build_sessionZ_build_package_finderrr� cache_dirr�loggerZwarningr
rr-Z
isolated_moderZpopulate_requirement_setr0Zhas_requirementsZ
prepare_files�joinZsuccessfully_downloaded�infoZ
cleanup_files)r!r'r"r)Zdist_restriction_setZbinary_onlyr(�finderZbuild_deleterZrequirement_setZ
downloadedr%r%r&�run{sx
zDownloadCommand.run)
�__name__�
__module__�__qualname__�__doc__r0ZusageZsummaryrr<�
__classcell__r%r%)r$r&rsQr)Z
__future__rZloggingrZpip.exceptionsrZ pip.indexrZpip.reqrZpip.basecommandrZpiprZ pip.utilsrr Zpip.utils.buildr
Zpip.utils.filesystemrZ getLoggerr=r8rr%r%r%r&�<module>s