mirror of
https://github.com/RustPython/RustPython.git
synced 2026-10-28 18:59:04 +08:00
upgrade site to 3.14.2
This commit is contained in:
1 parent
ea1e60e9ca
commit
7594ef5121
2 files changed
+40
-21
No files matched your search
Vendored
+18
-12
@@ -73,7 +73,7 @@ import sys
|
||||
import os
|
||||
import builtins
|
||||
import _sitebuiltins
|
||||
import io
|
||||
import _io as io
|
||||
import stat
|
||||
import errno
|
||||
|
||||
@@ -95,6 +95,12 @@ def _trace(message):
|
||||
print(message, file=sys.stderr)
|
||||
|
||||
|
||||
def _warn(*args, **kwargs):
|
||||
import warnings
|
||||
|
||||
warnings.warn(*args, **kwargs)
|
||||
|
||||
|
||||
def makepath(*paths):
|
||||
dir = os.path.join(*paths)
|
||||
try:
|
||||
@@ -444,9 +450,9 @@ def setcopyright():
|
||||
"""Set 'copyright' and 'credits' in builtins"""
|
||||
builtins.copyright = _sitebuiltins._Printer("copyright", sys.copyright)
|
||||
builtins.credits = _sitebuiltins._Printer("credits", """\
|
||||
Thanks to CWI, CNRI, BeOpen, Zope Corporation, the Python Software
|
||||
Foundation, and a cast of thousands for supporting Python
|
||||
development. See www.python.org for more information.""")
|
||||
Thanks to CWI, CNRI, BeOpen, Zope Corporation, the Python Software
|
||||
Foundation, and a cast of thousands for supporting Python
|
||||
development. See www.python.org for more information.""")
|
||||
files, dirs = [], []
|
||||
# Not all modules are required to have a __file__ attribute. See
|
||||
# PEP 420 for more details.
|
||||
@@ -574,7 +580,7 @@ def register_readline():
|
||||
def write_history():
|
||||
try:
|
||||
readline_module.write_history_file(history)
|
||||
except (FileNotFoundError, PermissionError):
|
||||
except FileNotFoundError, PermissionError:
|
||||
# home directory does not exist or is not writable
|
||||
# https://bugs.python.org/issue19891
|
||||
pass
|
||||
@@ -626,17 +632,17 @@ def venv(known_paths):
|
||||
elif key == 'home':
|
||||
sys._home = value
|
||||
|
||||
sys.prefix = sys.exec_prefix = site_prefix
|
||||
if sys.prefix != site_prefix:
|
||||
_warn(f'Unexpected value in sys.prefix, expected {site_prefix}, got {sys.prefix}', RuntimeWarning)
|
||||
if sys.exec_prefix != site_prefix:
|
||||
_warn(f'Unexpected value in sys.exec_prefix, expected {site_prefix}, got {sys.exec_prefix}', RuntimeWarning)
|
||||
|
||||
# Doing this here ensures venv takes precedence over user-site
|
||||
addsitepackages(known_paths, [sys.prefix])
|
||||
|
||||
# addsitepackages will process site_prefix again if its in PREFIXES,
|
||||
# but that's ok; known_paths will prevent anything being added twice
|
||||
if system_site == "true":
|
||||
PREFIXES.insert(0, sys.prefix)
|
||||
PREFIXES += [sys.base_prefix, sys.base_exec_prefix]
|
||||
else:
|
||||
PREFIXES = [sys.prefix]
|
||||
ENABLE_USER_SITE = False
|
||||
|
||||
return known_paths
|
||||
@@ -646,7 +652,7 @@ def execsitecustomize():
|
||||
"""Run custom site specific code, if available."""
|
||||
try:
|
||||
try:
|
||||
import sitecustomize
|
||||
import sitecustomize # noqa: F401
|
||||
except ImportError as exc:
|
||||
if exc.name == 'sitecustomize':
|
||||
pass
|
||||
@@ -666,7 +672,7 @@ def execusercustomize():
|
||||
"""Run custom user specific code, if available."""
|
||||
try:
|
||||
try:
|
||||
import usercustomize
|
||||
import usercustomize # noqa: F401
|
||||
except ImportError as exc:
|
||||
if exc.name == 'usercustomize':
|
||||
pass
|
||||
|
||||
Vendored
+22
-9
@@ -8,6 +8,7 @@ import unittest
|
||||
import test.support
|
||||
from test import support
|
||||
from test.support.script_helper import assert_python_ok
|
||||
from test.support import import_helper
|
||||
from test.support import os_helper
|
||||
from test.support import socket_helper
|
||||
from test.support import captured_stderr
|
||||
@@ -308,8 +309,7 @@ class HelperFunctionsTests(unittest.TestCase):
|
||||
|
||||
with EnvironmentVarGuard() as environ:
|
||||
environ['PYTHONUSERBASE'] = 'xoxo'
|
||||
self.assertTrue(site.getuserbase().startswith('xoxo'),
|
||||
site.getuserbase())
|
||||
self.assertTrue(site.getuserbase().startswith('xoxo'))
|
||||
|
||||
@unittest.skipUnless(HAS_USER_SITE, 'need user site')
|
||||
def test_getusersitepackages(self):
|
||||
@@ -319,7 +319,7 @@ class HelperFunctionsTests(unittest.TestCase):
|
||||
|
||||
# the call sets USER_BASE *and* USER_SITE
|
||||
self.assertEqual(site.USER_SITE, user_site)
|
||||
self.assertTrue(user_site.startswith(site.USER_BASE), user_site)
|
||||
self.assertTrue(user_site.startswith(site.USER_BASE))
|
||||
self.assertEqual(site.USER_BASE, site.getuserbase())
|
||||
|
||||
def test_getsitepackages(self):
|
||||
@@ -362,11 +362,10 @@ class HelperFunctionsTests(unittest.TestCase):
|
||||
environ.unset('PYTHONUSERBASE', 'APPDATA')
|
||||
|
||||
user_base = site.getuserbase()
|
||||
self.assertTrue(user_base.startswith('~' + os.sep),
|
||||
user_base)
|
||||
self.assertTrue(user_base.startswith('~' + os.sep))
|
||||
|
||||
user_site = site.getusersitepackages()
|
||||
self.assertTrue(user_site.startswith(user_base), user_site)
|
||||
self.assertTrue(user_site.startswith(user_base))
|
||||
|
||||
with mock.patch('os.path.isdir', return_value=False) as mock_isdir, \
|
||||
mock.patch.object(site, 'addsitedir') as mock_addsitedir, \
|
||||
@@ -515,7 +514,7 @@ class ImportSideEffectTests(unittest.TestCase):
|
||||
# If sitecustomize is available, it should have been imported.
|
||||
if "sitecustomize" not in sys.modules:
|
||||
try:
|
||||
import sitecustomize
|
||||
import sitecustomize # noqa: F401
|
||||
except ImportError:
|
||||
pass
|
||||
else:
|
||||
@@ -578,6 +577,17 @@ class ImportSideEffectTests(unittest.TestCase):
|
||||
code = e.code
|
||||
self.assertEqual(code, 200, msg="Can't find " + url)
|
||||
|
||||
@support.cpython_only
|
||||
def test_lazy_imports(self):
|
||||
import_helper.ensure_lazy_imports("site", [
|
||||
"io",
|
||||
"locale",
|
||||
"traceback",
|
||||
"atexit",
|
||||
"warnings",
|
||||
"textwrap",
|
||||
])
|
||||
|
||||
|
||||
class StartupImportTests(unittest.TestCase):
|
||||
|
||||
@@ -843,12 +853,15 @@ class CommandLineTests(unittest.TestCase):
|
||||
return 10, None
|
||||
|
||||
def invoke_command_line(self, *args):
|
||||
args = ["-m", "site", *args]
|
||||
cmd_args = []
|
||||
if sys.flags.no_user_site:
|
||||
cmd_args.append("-s")
|
||||
cmd_args.extend(["-m", "site", *args])
|
||||
|
||||
with EnvironmentVarGuard() as env:
|
||||
env["PYTHONUTF8"] = "1"
|
||||
env["PYTHONIOENCODING"] = "utf-8"
|
||||
proc = spawn_python(*args, text=True, env=env,
|
||||
proc = spawn_python(*cmd_args, text=True, env=env,
|
||||
encoding='utf-8', errors='replace')
|
||||
|
||||
output = kill_python(proc)
|
||||
|
||||
Reference in new issue
Block a user