35 lines
891 B
Python
35 lines
891 B
Python
import os.path
|
|
import site
|
|
import sys
|
|
|
|
|
|
def running_under_virtualenv():
|
|
# type: () -> bool
|
|
"""
|
|
Return True if we're running inside a virtualenv, False otherwise.
|
|
|
|
"""
|
|
if hasattr(sys, 'real_prefix'):
|
|
# pypa/virtualenv case
|
|
return True
|
|
elif sys.prefix != getattr(sys, "base_prefix", sys.prefix):
|
|
# PEP 405 venv
|
|
return True
|
|
|
|
return False
|
|
|
|
|
|
def virtualenv_no_global():
|
|
# type: () -> bool
|
|
"""
|
|
Return True if in a venv and no system site packages.
|
|
"""
|
|
# this mirrors the logic in virtualenv.py for locating the
|
|
# no-global-site-packages.txt file
|
|
site_mod_dir = os.path.dirname(os.path.abspath(site.__file__))
|
|
no_global_file = os.path.join(site_mod_dir, 'no-global-site-packages.txt')
|
|
if running_under_virtualenv() and os.path.isfile(no_global_file):
|
|
return True
|
|
else:
|
|
return False
|