import sys
import os
import __builtin__
+import traceback
# Prefixes for site-packages; add additional prefixes like /usr/local here
PREFIXES = [sys.prefix, sys.exec_prefix]
except IOError:
return
with f:
- for line in f:
+ for n, line in enumerate(f):
if line.startswith("#"):
continue
- if line.startswith(("import ", "import\t")):
- exec line
- continue
- line = line.rstrip()
- dir, dircase = makepath(sitedir, line)
- if not dircase in known_paths and os.path.exists(dir):
- sys.path.append(dir)
- known_paths.add(dircase)
+ try:
+ if line.startswith(("import ", "import\t")):
+ exec line
+ continue
+ line = line.rstrip()
+ dir, dircase = makepath(sitedir, line)
+ if not dircase in known_paths and os.path.exists(dir):
+ sys.path.append(dir)
+ known_paths.add(dircase)
+ except Exception as err:
+ print >>sys.stderr, "Error processing line {:d} of {}:\n".format(
+ n+1, fullname)
+ for record in traceback.format_exception(*sys.exc_info()):
+ for line in record.splitlines():
+ print >>sys.stderr, ' '+line
+ print >>sys.stderr, "\nRemainder of file ignored"
+ break
if reset:
known_paths = None
return known_paths
# locations.
from sysconfig import get_config_var
framework = get_config_var("PYTHONFRAMEWORK")
- if framework and "/%s.framework/"%(framework,) in prefix:
+ if framework:
sitepackages.append(
os.path.join("/Library", framework,
sys.version[:3], "site-packages"))