mirror of
https://github.com/python/cpython.git
synced 2025-11-01 22:21:35 +00:00
gh-72327: Suggest using system terminal for pip install in PyREPL (#136328)
Users new to Python packaging often try to use pip from the REPL only to be met with a confusing SyntaxError. If this happens, guide the user to use a system terminal instead to invoke pip. Closes #72327 --------- Co-authored-by: Tom Viner <tom@viner.tv> Co-authored-by: Brian Schubert <brianm.schubert@gmail.com> Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>
This commit is contained in:
parent
a8f42e6e88
commit
be02e68158
4 changed files with 29 additions and 1 deletions
|
|
@ -1757,3 +1757,14 @@ def test_showrefcount(self):
|
|||
output, _ = self.run_repl("1\n1+2\nexit()\n", cmdline_args=['-Xshowrefcount'], env=env)
|
||||
matches = re.findall(r'\[-?\d+ refs, \d+ blocks\]', output)
|
||||
self.assertEqual(len(matches), 3)
|
||||
|
||||
def test_detect_pip_usage_in_repl(self):
|
||||
for pip_cmd in ("pip", "pip3", "python -m pip", "python3 -m pip"):
|
||||
with self.subTest(pip_cmd=pip_cmd):
|
||||
output, exit_code = self.run_repl([f"{pip_cmd} install sampleproject", "exit"])
|
||||
self.assertIn("SyntaxError", output)
|
||||
hint = (
|
||||
"The Python package manager (pip) can only be used"
|
||||
" outside of the Python REPL"
|
||||
)
|
||||
self.assertIn(hint, output)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue