File: //usr/local/lib/python3.10/dist-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-310.pyc
o
��h
� @ s� d dl mZ d dlZd dlZd dlZd dlZd dlZe�e�Z e�
d�Zddd�Zddd �Z
dd
d�Zdd
d�Zddd�Zddd�Zddd�ZdS )� )�annotationsNz8include-system-site-packages\s*=\s*(?P<value>true|false)�return�boolc C s t jtt dt j�kS )znChecks if sys.base_prefix and sys.prefix match.
This handles PEP 405 compliant virtual environments.
�base_prefix)�sys�prefix�getattr� r r �I/usr/local/lib/python3.10/dist-packages/pip/_internal/utils/virtualenv.py�_running_under_venv s r c C s
t td�S )zmChecks if sys.real_prefix is set.
This handles virtual environments created with pypa's virtualenv.
�real_prefix)�hasattrr r r r r
� _running_under_legacy_virtualenv s
r c C s t � pt� S )zDTrue if we're running inside a virtual environment, False otherwise.)r r r r r r
�running_under_virtualenv s r �list[str] | Nonec C sf t j�tjd�} z t| dd��}|�� �� W d � W S 1 s!w Y W dS ty2 Y dS w )z�Reads {sys.prefix}/pyvenv.cfg and returns its contents as list of lines
Returns None, if it could not read/access the file.
z
pyvenv.cfgzutf-8)�encodingN) �os�path�joinr r �open�read�
splitlines�OSError)�pyvenv_cfg_file�fr r r
�_get_pyvenv_cfg_lines% s
(��r c C sP t � } | du rt�d� dS | D ]}t�|�}|dur%|�d�dkr% dS qdS )aZ Check `{sys.prefix}/pyvenv.cfg` for system site-packages inclusion
PEP 405 specifies that when system site-packages are not supposed to be
visible from a virtual environment, `pyvenv.cfg` must contain the following
line:
include-system-site-packages = false
Additionally, log a warning if accessing the file fails.
Nz�Could not access 'pyvenv.cfg' despite a virtual environment being active. Assuming global site-packages is not accessible in this environment.T�value�falseF)r �logger�warning�#_INCLUDE_SYSTEM_SITE_PACKAGES_REGEX�match�group)� cfg_lines�liner! r r r
�_no_global_under_venv4 s �
�r% c C s0 t j�t j�tj��} t j�| d�}t j�|�S )z�Check if "no-global-site-packages.txt" exists beside site.py
This mirrors logic in pypa/virtualenv for determining whether system
site-packages are visible in the virtual environment.
zno-global-site-packages.txt)r r �dirname�abspath�site�__file__r �exists)�site_mod_dir�no_global_site_packages_filer r r
�"_no_global_under_legacy_virtualenvQ s �r- c C s t � rt� S t� rt� S dS )zHReturns a boolean, whether running in venv with no system site-packages.F)r r% r r- r r r r
�virtualenv_no_global_ s
r. )r r )r r )�
__future__r �loggingr �rer( r � getLogger�__name__r �compiler r r r r r% r- r. r r r r
�<module> s"