summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_cmd_line.py6
-rw-r--r--Misc/NEWS3
-rw-r--r--Modules/main.c2
3 files changed, 8 insertions, 3 deletions
diff --git a/Lib/test/test_cmd_line.py b/Lib/test/test_cmd_line.py
index 1270ce3..3fa8ade 100644
--- a/Lib/test/test_cmd_line.py
+++ b/Lib/test/test_cmd_line.py
@@ -41,8 +41,10 @@ class CmdLineTest(unittest.TestCase):
def test_version(self):
version = ('Python %d.%d' % sys.version_info[:2]).encode("ascii")
- rc, out, err = assert_python_ok('-V')
- self.assertTrue(err.startswith(version))
+ for switch in '-V', '--version':
+ rc, out, err = assert_python_ok(switch)
+ self.assertFalse(err.startswith(version))
+ self.assertTrue(out.startswith(version))
def test_verbose(self):
# -v causes imports to write to stderr. If the write to
diff --git a/Misc/NEWS b/Misc/NEWS
index 96e51e3..e62f05a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,9 @@ What's New in Python 3.4.0 Alpha 1?
Core and Builtins
-----------------
+- Issue #18338: `python --version` now prints version string to stdout, and
+ not to stderr. Patch by Berker Peksag and Michael Dickens.
+
- Issue #18426: Fix NULL pointer dereference in C extension import when
PyModule_GetDef() returns an error.
diff --git a/Modules/main.c b/Modules/main.c
index af0d7f4..0343dda 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -500,7 +500,7 @@ Py_Main(int argc, wchar_t **argv)
return usage(0, argv[0]);
if (version) {
- fprintf(stderr, "Python %s\n", PY_VERSION);
+ printf("Python %s\n", PY_VERSION);
return 0;
}