@@ -91,10 +91,10 @@ def _create(self, clear: bool = False) -> None:
91
91
def _customize_site (self ) -> None :
92
92
# Enable user site (before system).
93
93
contents = textwrap .dedent (
94
- """
94
+ f """
95
95
import os, site, sys
96
96
if not os.environ.get('PYTHONNOUSERSITE', False):
97
- site.ENABLE_USER_SITE = True
97
+ site.ENABLE_USER_SITE = { self . _user_site_packages }
98
98
# First, drop system-sites related paths.
99
99
original_sys_path = sys.path[:]
100
100
known_paths = set()
@@ -106,7 +106,8 @@ def _customize_site(self) -> None:
106
106
original_sys_path.remove(path)
107
107
sys.path = original_sys_path
108
108
# Second, add user-site.
109
- site.addsitedir(site.getusersitepackages())
109
+ if { self ._user_site_packages } :
110
+ site.addsitedir(site.getusersitepackages())
110
111
# Third, add back system-sites related paths.
111
112
for path in site.getsitepackages():
112
113
site.addsitedir(path)
@@ -142,12 +143,5 @@ def user_site_packages(self) -> bool:
142
143
143
144
@user_site_packages .setter
144
145
def user_site_packages (self , value : bool ) -> None :
146
+ self ._user_site_packages = value
145
147
self ._customize_site ()
146
- pyvenv_cfg = self .location .joinpath ("pyvenv.cfg" )
147
- modified_lines = []
148
- for line in pyvenv_cfg .read_text ().splitlines ():
149
- k , v = line .split ("=" , 1 )
150
- if k .strip () == "include-system-site-packages" :
151
- line = f"include-system-site-packages = { str (bool (value )).lower ()} "
152
- modified_lines .append (line )
153
- pyvenv_cfg .write_text ("\n " .join (modified_lines ))
0 commit comments