33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
|
def _site_packages(prefix, real_prefix, global_site_packages):
|
||
|
import site, sys, os
|
||
|
paths = []
|
||
|
prefixes = [sys.prefix]
|
||
|
|
||
|
paths.append(os.path.join(prefix, 'lib', 'python' + sys.version[:3],
|
||
|
'site-packages'))
|
||
|
if os.path.join('.framework', '') in os.path.join(prefix, ''):
|
||
|
home = os.environ.get('HOME')
|
||
|
if home:
|
||
|
paths.append(os.path.join(home, 'Library', 'Python',
|
||
|
sys.version[:3], 'site-packages'))
|
||
|
|
||
|
|
||
|
# Work around for a misfeature in setuptools: easy_install.pth places
|
||
|
# site-packages way to early on sys.path and that breaks py2app bundles.
|
||
|
# NOTE: this is hacks into an undocumented feature of setuptools and
|
||
|
# might stop to work without warning.
|
||
|
sys.__egginsert = len(sys.path)
|
||
|
|
||
|
for path in paths:
|
||
|
site.addsitedir(path)
|
||
|
|
||
|
|
||
|
# Ensure that the global site packages get placed on sys.path after
|
||
|
# the site packages from the virtual environment (this functionality
|
||
|
# is also in virtualenv)
|
||
|
sys.__egginsert = len(sys.path)
|
||
|
|
||
|
if global_site_packages:
|
||
|
site.addsitedir(os.path.join(real_prefix, 'lib', 'python' + sys.version[:3],
|
||
|
'site-packages'))
|