name : develop.cpython-39.pyc
a

��khm�@s�ddlmZddlmZddlmZmZddlZddlZddl	Z	ddl
Z
ddlmZddl
mZddl
Z
Gdd�deje�ZGd	d
�d
�ZdS)�)�convert_path)�log)�DistutilsError�DistutilsOptionErrorN)�easy_install)�
namespacesc@sveZdZdZdZejddgZejdgZdZdd�Z	d	d
�Z
dd�Zed
d��Z
dd�Zdd�Zdd�Zdd�ZdS)�developzSet up package for developmentz%install package in 'development mode')�	uninstall�uzUninstall this source package)z	egg-path=Nz-Set the path to be used in the .egg-link filer	FcCs2|jrd|_|��|��n|��|��dS)NT)r	Z
multi_version�uninstall_linkZuninstall_namespaces�install_for_developmentZwarn_deprecated_options��self�r�>/usr/lib/python3.9/site-packages/setuptools/command/develop.py�runs
zdevelop.runcCs&d|_d|_t�|�d|_d|_dS)N�.)r	�egg_pathr�initialize_options�
setup_pathZalways_copy_fromr
rrrr%s

zdevelop.initialize_optionscCs|�d�}|jr,d}|j|jf}t||��|jg|_t�|�|��|�	�|j
�t�d��|jd}t
j�|j|�|_|j|_|jdur�t
j�|j�|_t�|j�}t�t
j�|j|j��}||kr�td|��tj|t�|t
j�|j��|jd�|_|�|j|j|j�|_dS)N�egg_infoz-Please rename %r to %r before using 'develop'z*.eggz	.egg-linkzA--egg-path must be a relative path from the install directory to �Zproject_name)�get_finalized_commandZbroken_egg_inforrZegg_name�argsr�finalize_optionsZexpand_basedirsZexpand_dirsZ
package_index�scan�glob�os�path�join�install_dir�egg_link�egg_baser�abspath�
pkg_resources�normalize_pathrZDistribution�PathMetadata�dist�_resolve_setup_pathr)rZei�templaterZegg_link_fn�targetrrrrr,sF




�����zdevelop.finalize_optionscCsn|�tjd��d�}|tjkr0d|�d�d}t�tj�	|||��}|t�tj�krjt
d|t�tj���|S)z�
        Generate a path from egg_base back to '.' where the
        setup script resides and ensure that path points to the
        setup path from $install_dir/$egg_path.
        �/z../�zGCan't get a consistent path to setup script from installation directory)�replacer�sep�rstrip�curdir�countr$r%rrr)r"r rZ
path_to_setupZresolvedrrrr(Vs
�
�zdevelop._resolve_setup_pathcCsPt|jdd�r�|jddd�|�d�|�d�}t�|j�}|jd|d�|�d�|jddd�|�d�|�d�}||_||j	_
t�||j�|j	_
n"|�d�|jdd	d�|�d�tjr�|�tj�dt_|��t�d
|j|j�|j�s8t|jd��&}|�|jd|j�Wd�n1�s.0Y|�d|j	|j�dS)
NZuse_2to3FZbuild_pyr)Zinplacer)r"Z	build_extr,zCreating %s (link to %s)�w�
)�getattr�distributionZreinitialize_commandZrun_commandrr$r%Z	build_librr'�locationr&rZ	_provider�
setuptoolsZbootstrap_install_fromrZinstall_namespacesr�infor!r"�dry_run�open�writerZprocess_distributionZno_deps)rZbpy_cmdZ
build_pathZei_cmd�frrrrjs6




�


6zdevelop.install_for_developmentcCs�tj�|j�rzt�d|j|j�t|j�}dd�|D�}|��||j	g|j	|j
gfvrht�d|�dS|jszt�
|j�|js�|�|j�|jjr�t�d�dS)NzRemoving %s (link to %s)cSsg|]}|���qSr)r/)�.0�linerrr�
<listcomp>��z*develop.uninstall_link.<locals>.<listcomp>z$Link points to %s: uninstall abortedz5Note: you must uninstall or replace scripts manually!)rr�existsr!rr8r"r:�closerr�warnr9�unlinkZ
update_pthr'r5�scripts)rZ
egg_link_file�contentsrrrr�s 

�zdevelop.uninstall_linkc	Cs�||jurt�||�S|�|�|jjp*gD]b}tj�t	|��}tj�
|�}t�|��}|�
�}Wd�n1st0Y|�||||�q,dS�N)r'r�install_egg_scripts�install_wrapper_scriptsr5rErrr#r�basename�ior:�readZinstall_script)rr'�script_nameZscript_pathZstrmZscript_textrrrrH�s

&zdevelop.install_egg_scriptscCst|�}t�||�SrG)�VersionlessRequirementrrI�rr'rrrrI�szdevelop.install_wrapper_scriptsN)�__name__�
__module__�__qualname__�__doc__�descriptionrZuser_optionsZboolean_optionsZcommand_consumes_argumentsrrr�staticmethodr(rrrHrIrrrrrs"�	*
/rc@s(eZdZdZdd�Zdd�Zdd�ZdS)	rNa�
    Adapt a pkg_resources.Distribution to simply return the project
    name as the 'requirement' so that scripts will work across
    multiple versions.

    >>> from pkg_resources import Distribution
    >>> dist = Distribution(project_name='foo', version='1.0')
    >>> str(dist.as_requirement())
    'foo==1.0'
    >>> adapted_dist = VersionlessRequirement(dist)
    >>> str(adapted_dist.as_requirement())
    'foo'
    cCs
||_dSrG)�_VersionlessRequirement__distrOrrr�__init__�szVersionlessRequirement.__init__cCst|j|�SrG)r4rV)r�namerrr�__getattr__�sz"VersionlessRequirement.__getattr__cCs|jSrGrr
rrr�as_requirement�sz%VersionlessRequirement.as_requirementN)rPrQrRrSrWrYrZrrrrrN�srN)Zdistutils.utilrZ	distutilsrZdistutils.errorsrrrrrKr$Zsetuptools.command.easy_installrr7rZDevelopInstallerrrNrrrr�<module>s5

© 2025 Cubjrnet7