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
| | Add all /gnu/store/ prefixes found in PYTHONPATH to the prefixes where
site-packages (and .pth files) are searched.
*** Python-2.7.11/Lib/site.py.orig 2016-10-17 23:27:23.746149690 +0200
--- Python-2.7.11/Lib/site.py 2016-10-17 23:44:51.930871644 +0200
***************
*** 65,70 ****
--- 65,85 ----
# Prefixes for site-packages; add additional prefixes like /usr/local here
PREFIXES = [sys.prefix, sys.exec_prefix]
+ # Guix: Add all /gnu/store-paths in PYTHONPATH--these are all
+ # "prefixes". This is required to search .pth files in all python
+ # packages contained in /gnu/store which is required to make
+ # .pth-defined namespace packages work.
+ # This is necessary if the packages are not merged into a single
+ # `site-packages` directory (like when using `guix environment`) but
+ # listed in PYTHONPATH (like when running `guix build`).
+ guix_store = os.getenv("NIX_STORE")
+ if not guix_store:
+ guix_store = '@storedir@'
+ for p in sys.path:
+ if p.startswith(guix_store):
+ PREFIXES.append(p[:p.find('/', 34 + len(guix_store))]) # find first pathsep after hash
+ del p
+
# Enable per user site-packages directory
# set it to False to disable the feature or True to force the feature
ENABLE_USER_SITE = None
|