File: //lib64/python3.6/venv/__pycache__/__init__.cpython-36.opt-2.pyc
3
�QgqM  �               @   s�   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZe je�Z	G dd� d�Z
d
dd�Zddd�Zed	kr�d
Z
ye�  d Z
W n4 ek
r� Z zede ejd� W Y ddZ[X nX eje
� dS )�    Nc               @   s�   e Zd Zddd�Zdd� Zdd� Zd	d
� Zdd� Zej	d
krDdd� Z
ddd�Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� ZdS ) �
EnvBuilderFNc             C   s(   || _ || _|| _|| _|| _|| _d S )N)�system_site_packages�clear�symlinks�upgrade�with_pip�prompt)�selfr   r   r   r   r   r   � r
   �%/usr/lib64/python3.6/venv/__init__.py�__init__+   s    zEnvBuilder.__init__c             C   sx   t jj|�}| j|�}| j}d| _| j|� | j|� | jrF| j|� | j	s`| j
|� | j|� |rtd| _| j|� d S )NFT)�os�path�abspath�ensure_directoriesr   �create_configuration�setup_pythonr   �
_setup_pipr   �
setup_scripts�
post_setup)r	   �env_dir�contextZtrue_system_site_packagesr
   r
   r   �create4   s    
zEnvBuilder.createc             C   s`   xZt j|�D ]L}t jj||�}t jj|�s6t jj|�rBt j|� qt jj|�rtj	|� qW d S )N)
r
   �listdirr   �join�islink�isfile�remove�isdir�shutilZrmtree)r	   r   �fnr
   r
   r   �clear_directoryN   s    zEnvBuilder.clear_directoryc             C   s�  dd� }t jj|�r$| jr$| j|� tj� }||_t jj|�d |_	| j
d k	rT| j
n|j	}d| |_
||� t j}tj
dkr�d|kr�t jd }ntj}t jjt jj|��\}}||_||_||_tj
dkr�d}	d	}
t jj|d
d�}n(d}	d
}
t jj|ddtjd d�  d�}t jj||
� |_}||� ||� tjdk�r|t jdk�r|tj
dk�r|t jj|d�}
t jj|
��s|t jd|
� t jj||	� |_}|	|_t jj||�|_||� |S )Nc             S   s@   t jj| �st j| � n$t jj| �s0t jj| �r<td|  ��d S )NzUnable to create directory %r)r
   r   �exists�makedirsr   r   �
ValueError)�dr
   r
   r   �create_if_needed^   s    z7EnvBuilder.ensure_directories.<locals>.create_if_needed�   z(%s) �darwin�__PYVENV_LAUNCHER__Zwin32ZScriptsZInclude�Libz
site-packages�bin�include�libzpython%d.%d�   �    �posix�lib64l        )r
   r   r"