Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
1.2 kB · 46 lines
Python
at litex
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647"""Recursively load pth files in site-packages of sys.path
- iterate over sys.path- check for pth in dirs that end in site-packages- ignore import statements in pth files- add dirs listed in pth files right after current sys.path element, they will be processed in next iteration"""
import osimport siteimport sys
for path_idx, sitedir in enumerate(sys.path): # ignore non-site-packages if not sitedir.endswith('site-packages'): continue
# find pth files try: names = os.listdir(sitedir) except os.error: continue dotpth = os.extsep + "pth" pths = [name for name in names if name.endswith(dotpth)]
for pth in pths: fullname = os.path.join(sitedir, pth) try: f = open(fullname, "rU") except IOError: continue
with f: for n, line in enumerate(f): if line.startswith("#"): continue
if line.startswith(("import ", "import\t")): continue
line = line.rstrip() dir, dircase = site.makepath(sitedir, line) if not dircase in sys.path: sys.path.insert(path_idx+1, dir)