관리-도구
편집 파일: easy_install.cpython-36.opt-1.pyc
3 9��f�T � @ s d Z ddlmZ ddlmZ ddlmZmZ ddlmZmZm Z m Z ddlmZm Z ddlmZmZ ddlmZ dd lmZ dd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd l Z dd l!Z!dd l"Z"dd l#Z#dd l$Z$dd l%Z%ddl&m'Z' ddl(m)Z)m*Z* dd l+m,Z, ddl-m.Z. ddl/m0Z0m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7 ddl8m9Z9m:Z:m;Z; ddl4m<Z<m=Z= ddl>m?Z? ddl@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZO dd lPZ@ejQde@jRd� ddddddgZSdd � ZTd!d� ZUe'jV�r2d"d#� ZWd$d%� ZXnd&d#� ZWd'd%� ZXd(d)� ZYG d*d� de,�ZZd+d,� Z[d-d.� Z\d/d0� Z]d1d� Z^d2d� Z_G d3d� deG�Z`G d4d5� d5e`�Zaejbjcd6d7�d8k�r�eaZ`d9d:� Zdd;d<� Zed=d>� Zfd?d@� ZgdpdAdB�ZhdCdD� ZidEdF� ZjdGejkk�rejZlndHdI� ZldqdKdL�ZmdMdN� ZndOdP� ZodQdR� ZpyddSlmqZr W n esk �r^ dTdU� ZrY nX dVdW� ZqG dXdY� dYet�Zueujv� ZwG dZd[� d[eu�ZxG d\d]� d]ey�ZzG d^d_� d_ez�Z{G d`da� dae{�Z|ezj}Z}ezj~Z~dbdc� Zddde� Z�dfeefdgdh�Z�didj� Z�dkdl� Z�drdmd�Z�e"j�dndo� �Z�d S )sa% Easy Install ------------ A tool for doing automatic download/extract/build of distutils-based Python packages. For detailed documentation, see the accompanying EasyInstall.txt file, or visit the `EasyInstall home page`__. __ https://setuptools.readthedocs.io/en/latest/easy_install.html � )�glob)�get_platform)�convert_path� subst_vars)�DistutilsArgError�DistutilsOptionError�DistutilsError�DistutilsPlatformError)�INSTALL_SCHEMES�SCHEME_KEYS)�log�dir_util)� first_line_re)�find_executableN)�six)�configparser�map)�Command)� run_setup)�get_path�get_config_vars)�rmtree_safe)�setopt)�unpack_archive)�PackageIndex�parse_requirement_arg� URL_SCHEME)� bdist_egg�egg_info)�Wheel)�yield_lines�normalize_path�resource_string�ensure_directory�get_distribution�find_distributions�Environment�Requirement�Distribution�PathMetadata�EggMetadata� WorkingSet�DistributionNotFound�VersionConflict�DEVELOP_DIST�default)�category�samefile�easy_install�PthDistributions�extract_wininst_cfg�main�get_exe_prefixesc C s t jd�dkS )N�P� )�struct�calcsize� r; r; �"/usr/lib/python3.6/easy_install.py�is_64bitI s r= c C sj t jj| �ot jj|�}tt jd�o&|}|r:t jj| |�S t jjt jj| ��}t jjt jj|��}||kS )z� Determine if two paths reference the same file. Augments os.path.samefile to work on Windows and suppresses errors if the path doesn't exist. r1 )�os�path�exists�hasattrr1 �normpath�normcase)Zp1Zp2Z both_existZuse_samefileZnorm_p1Znorm_p2r; r; r<