-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Expand file tree
/
Copy pathget_venv_lib.py
More file actions
35 lines (30 loc) · 834 Bytes
/
get_venv_lib.py
File metadata and controls
35 lines (30 loc) · 834 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import os
import sys
def pip_installed_folder():
try:
import pip
except ImportError:
print("ERROR: 'pip' not installed.")
sys.exit(2)
dirname, filename = os.path.split(pip.__file__)
if filename.startswith("__init__."):
dirname = os.path.dirname(dirname)
return dirname
def first_site_packages():
dist_packages = None
for path in sys.path:
if "site-packages" in path:
return path
if "dist-packages" in path and not dist_packages:
dist_packages = path
if dist_packages:
return dist_packages
# No site-packages or dist-packages?
raise Exception
def get_venv_lib():
try:
return pip_installed_folder()
except:
return first_site_packages()
if __name__=='__main__':
print(get_venv_lib())