import
sys
_libdir
=
'/lib/python'
+
sys.version[:
3
]
_parent
=
'/'
.join(__file__.split(
'/'
)[:
-
1
])
if
not
_parent.endswith(_libdir):
_parent
+
=
_libdir
sys.path.append(_parent
+
'/site-packages.zip'
)
sys.path.append(_parent
+
'/site-packages'
)
import
os
def
makepath(
*
paths):
dir
=
os.path.abspath(os.path.join(
*
paths))
return
dir
, os.path.normcase(
dir
)
for
m
in
sys.modules.values():
f
=
getattr
(m,
'__file__'
,
None
)
if
isinstance
(f,
basestring
)
and
os.path.exists(f):
m.__file__
=
os.path.abspath(m.__file__)
del
m
L
=
[]
_dirs_in_sys_path
=
{}
dir
=
dircase
=
None
for
dir
in
sys.path:
dir
, dircase
=
makepath(
dir
)
if
not
dircase
in
_dirs_in_sys_path:
L.append(
dir
)
_dirs_in_sys_path[dircase]
=
1
sys.path[:]
=
L
del
dir
, dircase, L
_dirs_in_sys_path
=
None
def
_init_pathinfo():
global
_dirs_in_sys_path
_dirs_in_sys_path
=
d
=
{}
for
dir
in
sys.path:
if
dir
and
not
os.path.isdir(
dir
):
continue
dir
, dircase
=
makepath(
dir
)
d[dircase]
=
1
def
addsitedir(sitedir):
global
_dirs_in_sys_path
if
_dirs_in_sys_path
is
None
:
_init_pathinfo()
reset
=
1
else
:
reset
=
0
sitedir, sitedircase
=
makepath(sitedir)
if
not
sitedircase
in
_dirs_in_sys_path:
sys.path.append(sitedir)
try
:
names
=
os.listdir(sitedir)
except
os.error:
return
names.sort()
for
name
in
names:
if
name[
-
4
:]
=
=
os.extsep
+
"pth"
:
addpackage(sitedir, name)
if
reset:
_dirs_in_sys_path
=
None
def
addpackage(sitedir, name):
global
_dirs_in_sys_path
if
_dirs_in_sys_path
is
None
:
_init_pathinfo()
reset
=
1
else
:
reset
=
0
fullname
=
os.path.join(sitedir, name)
try
:
f
=
open
(fullname)
except
IOError:
return
while
1
:
dir
=
f.readline()
if
not
dir
:
break
if
dir
[
0
]
=
=
'#'
:
continue
if
dir
.startswith(
"import"
):
exec
dir
continue
if
dir
[
-
1
]
=
=
'\n'
:
dir
=
dir
[:
-
1
]
dir
, dircase
=
makepath(sitedir,
dir
)
if
not
dircase
in
_dirs_in_sys_path
and
os.path.exists(
dir
):
sys.path.append(
dir
)
_dirs_in_sys_path[dircase]
=
1
if
reset:
_dirs_in_sys_path
=
None
try
:
import
sitecustomize
except
ImportError:
pass
if
hasattr
(sys,
"setdefaultencoding"
):
del
sys.setdefaultencoding