diff --git a/pandas/__init__.py b/pandas/__init__.py index 6351b508fb0e5..5a0ed8701ce93 100644 --- a/pandas/__init__.py +++ b/pandas/__init__.py @@ -1,4 +1,13 @@ # flake8: noqa +import sys + +if sys.version_info[:3] <= (3, 5, 2): + msg = "pandas requires Python >=3.5.3 but {}.{}.{} is installed.".format( + *sys.version_info[:3] + ) + raise ImportError(msg) + +del sys __docformat__ = "restructuredtext" diff --git a/pandas/tests/test_downstream.py b/pandas/tests/test_downstream.py index d644c002fbdfb..bd676428cc85e 100644 --- a/pandas/tests/test_downstream.py +++ b/pandas/tests/test_downstream.py @@ -150,3 +150,11 @@ def test_missing_required_dependency(): output = exc.value.stdout.decode() for name in ["numpy", "pytz", "dateutil"]: assert name in output + + +def test_old_python_raises(): + code = "import sys; sys.version_info = (3, 5, 2); import pandas" + # match = 'pandas requires Python >=3.5.3 but 3.5.2 is installed' + out = subprocess.run(["python", "-c", code], check=False, capture_output=True) + stderr = out.stderr.decode() + assert "pandas requires Python >=3.5.3 but 3.5.2 is installed." in stderr