From c51a4d64f4b0c06c5e6692b093bdc22c0e446ef1 Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Thu, 11 Jul 2019 22:27:07 -0400 Subject: [PATCH 01/18] Resolve merge conflicts. The upstream what's new file had been updated. --- docs/sphinx/source/whatsnew/v0.7.0.rst | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/docs/sphinx/source/whatsnew/v0.7.0.rst b/docs/sphinx/source/whatsnew/v0.7.0.rst index 98a2dc6469..18508a6374 100644 --- a/docs/sphinx/source/whatsnew/v0.7.0.rst +++ b/docs/sphinx/source/whatsnew/v0.7.0.rst @@ -7,12 +7,23 @@ This is a major release that drops support for Python 2 and Python 3.4. We recommend all users of v0.6.3 upgrade to this release after checking API compatibility notes. -**Python 2.7 support ended on June 1, 2019**. (:issue:`501`) - +**Python 2.7 support ended on June 1, 2019.** (:issue:`501`) **Minimum numpy version is now 1.10.4. Minimum pandas version is now 0.18.1.** +Bug fixes +~~~~~~~~~ +* Fix handling of keyword arguments in `forecasts.get_processed_data`. + (:issue:`745`) + +Testing +~~~~~~~ +* Added 30 minutes to timestamps in `test_psm3.csv` to match change in NSRDB (:issue:`733`) +* Added tests for methods in bifacial.py. + Contributors ~~~~~~~~~~~~ * Mark Campanellli (:ghuser:`markcampanelli`) * Will Holmgren (:ghuser:`wholmgren`) +* Oscar Dowson (:ghuser:`odow`) +* Alexander Morgan (:ghuser:`alexandermorgan`) \ No newline at end of file From a762fc334c50465b6d1952dee1b0c62be5ade2e3 Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Sun, 21 Jul 2019 11:44:36 -0400 Subject: [PATCH 02/18] Remove py2 and Windows checks. Removed because python 2 is no longer supported, and this let us remove the checks for Windows too. --- pvlib/test/test_conftest.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/pvlib/test/test_conftest.py b/pvlib/test/test_conftest.py index e2a836537c..ee57a4b01d 100644 --- a/pvlib/test/test_conftest.py +++ b/pvlib/test/test_conftest.py @@ -1,11 +1,8 @@ import pytest -from conftest import fail_on_pvlib_version, platform_is_windows, has_python2 +from conftest import fail_on_pvlib_version -# allow xpass for python 2 on windows -@pytest.mark.xfail(strict=(not (platform_is_windows and has_python2)), - reason='fail_on_pvlib_version should cause test to fail') @fail_on_pvlib_version('0.0') def test_fail_on_pvlib_version(): pass @@ -16,8 +13,6 @@ def test_fail_on_pvlib_version_pass(): pass -@pytest.mark.xfail(strict=(not (platform_is_windows and has_python2)), - reason='ensure that the test is called') @fail_on_pvlib_version('100000.0') def test_fail_on_pvlib_version_fail_in_test(): raise Exception From 0508b33d6c5d77f3050825910415ee3da6477d3c Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Sun, 21 Jul 2019 11:53:39 -0400 Subject: [PATCH 03/18] Remove from __future__ import print_function. --- versioneer.py | 1 - 1 file changed, 1 deletion(-) diff --git a/versioneer.py b/versioneer.py index 7ed2a21d28..01699a035c 100644 --- a/versioneer.py +++ b/versioneer.py @@ -348,7 +348,6 @@ """ -from __future__ import print_function try: import configparser except ImportError: From d063a39e34e42678119d23e8b4cdbf3400c4b884 Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Sun, 21 Jul 2019 11:54:53 -0400 Subject: [PATCH 04/18] Remove from __future__ import division. --- pvlib/atmosphere.py | 2 -- pvlib/clearsky.py | 2 -- pvlib/iotools/ecmwf_macc.py | 1 - pvlib/irradiance.py | 2 -- pvlib/pvsystem.py | 2 -- pvlib/solarposition.py | 1 - pvlib/spa.py | 1 - pvlib/test/test_ecmwf_macc.py | 1 - pvlib/tracking.py | 2 -- 9 files changed, 14 deletions(-) diff --git a/pvlib/atmosphere.py b/pvlib/atmosphere.py index ab4446a9c3..ee7593f96a 100644 --- a/pvlib/atmosphere.py +++ b/pvlib/atmosphere.py @@ -3,8 +3,6 @@ absolute airmass and to determine pressure from altitude or vice versa. """ -from __future__ import division - from warnings import warn import numpy as np diff --git a/pvlib/clearsky.py b/pvlib/clearsky.py index 6543244e30..0aa80129d9 100644 --- a/pvlib/clearsky.py +++ b/pvlib/clearsky.py @@ -3,8 +3,6 @@ to calculate clear sky GHI, DNI, and DHI. """ -from __future__ import division - import os from collections import OrderedDict import calendar diff --git a/pvlib/iotools/ecmwf_macc.py b/pvlib/iotools/ecmwf_macc.py index ef0ee2259c..4fa8ebd061 100644 --- a/pvlib/iotools/ecmwf_macc.py +++ b/pvlib/iotools/ecmwf_macc.py @@ -2,7 +2,6 @@ Read data from ECMWF MACC Reanalysis. """ -from __future__ import division import threading import pandas as pd diff --git a/pvlib/irradiance.py b/pvlib/irradiance.py index 000cf3216c..494d13be5a 100644 --- a/pvlib/irradiance.py +++ b/pvlib/irradiance.py @@ -4,8 +4,6 @@ irradiance, and total irradiance under various conditions. """ -from __future__ import division - import datetime from collections import OrderedDict from functools import partial diff --git a/pvlib/pvsystem.py b/pvlib/pvsystem.py index 35701bd3a2..552b6f22a4 100644 --- a/pvlib/pvsystem.py +++ b/pvlib/pvsystem.py @@ -3,8 +3,6 @@ performance of PV modules and inverters. """ -from __future__ import division - from collections import OrderedDict import io import os diff --git a/pvlib/solarposition.py b/pvlib/solarposition.py index d55737040b..be7f33aefa 100644 --- a/pvlib/solarposition.py +++ b/pvlib/solarposition.py @@ -8,7 +8,6 @@ # Tony Lorenzo (@alorenzo175), University of Arizona, 2015 # Cliff hansen (@cwhanse), Sandia National Laboratories, 2018 -from __future__ import division import os import datetime as dt try: diff --git a/pvlib/spa.py b/pvlib/spa.py index 3a44a2efed..6c99a03f0c 100644 --- a/pvlib/spa.py +++ b/pvlib/spa.py @@ -6,7 +6,6 @@ # Contributors: # Created by Tony Lorenzo (@alorenzo175), Univ. of Arizona, 2015 -from __future__ import division import os import threading import warnings diff --git a/pvlib/test/test_ecmwf_macc.py b/pvlib/test/test_ecmwf_macc.py index de0e389403..8823b789e5 100644 --- a/pvlib/test/test_ecmwf_macc.py +++ b/pvlib/test/test_ecmwf_macc.py @@ -2,7 +2,6 @@ tests for :mod:`pvlib.iotools.ecmwf_macc` """ -from __future__ import division import os import datetime import numpy as np diff --git a/pvlib/tracking.py b/pvlib/tracking.py index f81b0e8571..9859022bc4 100644 --- a/pvlib/tracking.py +++ b/pvlib/tracking.py @@ -1,5 +1,3 @@ -from __future__ import division - import numpy as np import pandas as pd From 84fb23e590e45b5872059026420ac71db3f6b16f Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Sun, 21 Jul 2019 13:56:33 -0400 Subject: [PATCH 05/18] Revert "Remove py2 and Windows checks." This reverts commit a762fc334c50465b6d1952dee1b0c62be5ade2e3. --- pvlib/test/test_conftest.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pvlib/test/test_conftest.py b/pvlib/test/test_conftest.py index ee57a4b01d..e2a836537c 100644 --- a/pvlib/test/test_conftest.py +++ b/pvlib/test/test_conftest.py @@ -1,8 +1,11 @@ import pytest -from conftest import fail_on_pvlib_version +from conftest import fail_on_pvlib_version, platform_is_windows, has_python2 +# allow xpass for python 2 on windows +@pytest.mark.xfail(strict=(not (platform_is_windows and has_python2)), + reason='fail_on_pvlib_version should cause test to fail') @fail_on_pvlib_version('0.0') def test_fail_on_pvlib_version(): pass @@ -13,6 +16,8 @@ def test_fail_on_pvlib_version_pass(): pass +@pytest.mark.xfail(strict=(not (platform_is_windows and has_python2)), + reason='ensure that the test is called') @fail_on_pvlib_version('100000.0') def test_fail_on_pvlib_version_fail_in_test(): raise Exception From f960ea057ec0fab39152728dc9e240749208dee0 Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Sun, 21 Jul 2019 14:11:15 -0400 Subject: [PATCH 06/18] Remove has_python2 checks. --- pvlib/test/conftest.py | 2 -- pvlib/test/test_conftest.py | 6 +++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/pvlib/test/conftest.py b/pvlib/test/conftest.py index e91adb8689..d26ff00f4b 100644 --- a/pvlib/test/conftest.py +++ b/pvlib/test/conftest.py @@ -41,8 +41,6 @@ def inner(): data_dir = os.path.join(test_dir, os.pardir, 'data') -has_python2 = parse_version(platform.python_version()) < parse_version('3') - platform_is_windows = platform.system() == 'Windows' skip_windows = pytest.mark.skipif(platform_is_windows, reason='does not run on windows') diff --git a/pvlib/test/test_conftest.py b/pvlib/test/test_conftest.py index e2a836537c..c067d6d2f7 100644 --- a/pvlib/test/test_conftest.py +++ b/pvlib/test/test_conftest.py @@ -1,10 +1,10 @@ import pytest -from conftest import fail_on_pvlib_version, platform_is_windows, has_python2 +from conftest import fail_on_pvlib_version, platform_is_windows # allow xpass for python 2 on windows -@pytest.mark.xfail(strict=(not (platform_is_windows and has_python2)), +@pytest.mark.xfail(strict=(not platform_is_windows), reason='fail_on_pvlib_version should cause test to fail') @fail_on_pvlib_version('0.0') def test_fail_on_pvlib_version(): @@ -16,7 +16,7 @@ def test_fail_on_pvlib_version_pass(): pass -@pytest.mark.xfail(strict=(not (platform_is_windows and has_python2)), +@pytest.mark.xfail(strict=(not platform_is_windows), reason='ensure that the test is called') @fail_on_pvlib_version('100000.0') def test_fail_on_pvlib_version_fail_in_test(): From be1c86887e62562f482dc35c1025a2dbf111181b Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Sun, 21 Jul 2019 21:07:37 -0400 Subject: [PATCH 07/18] Remove duplicate line in what's new file. --- docs/sphinx/source/whatsnew/v0.7.0.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/sphinx/source/whatsnew/v0.7.0.rst b/docs/sphinx/source/whatsnew/v0.7.0.rst index 580d5f6f03..a5251d9047 100644 --- a/docs/sphinx/source/whatsnew/v0.7.0.rst +++ b/docs/sphinx/source/whatsnew/v0.7.0.rst @@ -8,7 +8,6 @@ recommend all users of v0.6.3 upgrade to this release after checking API compatibility notes. **Python 2.7 support ended on June 1, 2019.** (:issue:`501`) -**Python 2.7 support ended on June 1, 2019**. (:issue:`501`) **Minimum numpy version is now 1.10.4. Minimum pandas version is now 0.18.1.** Bug fixes From e1ffc453ac0ea7e3e83dc1e03b81fbaf315600ab Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Sun, 21 Jul 2019 21:53:51 -0400 Subject: [PATCH 08/18] Remove python2-sensitive imports. --- pvlib/iotools/epw.py | 8 +------- pvlib/iotools/surfrad.py | 8 +------- pvlib/iotools/tmy.py | 8 +------- pvlib/pvsystem.py | 16 +++------------- 4 files changed, 6 insertions(+), 34 deletions(-) diff --git a/pvlib/iotools/epw.py b/pvlib/iotools/epw.py index 6b6c5ddd2d..4a714d0f2d 100644 --- a/pvlib/iotools/epw.py +++ b/pvlib/iotools/epw.py @@ -3,13 +3,7 @@ """ import io - -try: - # python 2 compatibility - from urllib2 import urlopen, Request -except ImportError: - from urllib.request import urlopen, Request - +from urllib.request import urlopen, Request import pandas as pd diff --git a/pvlib/iotools/surfrad.py b/pvlib/iotools/surfrad.py index 503b9da732..22e451cfeb 100644 --- a/pvlib/iotools/surfrad.py +++ b/pvlib/iotools/surfrad.py @@ -2,13 +2,7 @@ Import functions for NOAA SURFRAD Data. """ import io - -try: - # python 2 compatibility - from urllib2 import urlopen, Request -except ImportError: - from urllib.request import urlopen, Request - +from urllib.request import urlopen, Request import pandas as pd import numpy as np diff --git a/pvlib/iotools/tmy.py b/pvlib/iotools/tmy.py index 9c5ba9e9ca..5f67fe739d 100644 --- a/pvlib/iotools/tmy.py +++ b/pvlib/iotools/tmy.py @@ -5,13 +5,7 @@ import datetime import io import re - -try: - # python 2 compatibility - from urllib2 import urlopen, Request -except ImportError: - from urllib.request import urlopen, Request - +from urllib.request import urlopen, Request import dateutil import pandas as pd diff --git a/pvlib/pvsystem.py b/pvlib/pvsystem.py index 552b6f22a4..c3aab0147e 100644 --- a/pvlib/pvsystem.py +++ b/pvlib/pvsystem.py @@ -6,11 +6,7 @@ from collections import OrderedDict import io import os -try: - from urllib2 import urlopen -except ImportError: - from urllib.request import urlopen - +from urllib.request import urlopen import numpy as np import pandas as pd @@ -1630,14 +1626,8 @@ def retrieve_sam(name=None, path=None): else: csvdata = path elif name is None and path is None: - try: - # python 2 - import Tkinter as tkinter - from tkFileDialog import askopenfilename - except ImportError: - # python 3 - import tkinter - from tkinter.filedialog import askopenfilename + import tkinter + from tkinter.filedialog import askopenfilename tkinter.Tk().withdraw() csvdata = askopenfilename() From a5c3212db78f9ede369a2c11c41bb4af4bc5b049 Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Sun, 21 Jul 2019 21:55:05 -0400 Subject: [PATCH 09/18] Remove out-of-date python2 comment. --- pvlib/test/test_conftest.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pvlib/test/test_conftest.py b/pvlib/test/test_conftest.py index c067d6d2f7..9a1510feb5 100644 --- a/pvlib/test/test_conftest.py +++ b/pvlib/test/test_conftest.py @@ -3,7 +3,6 @@ from conftest import fail_on_pvlib_version, platform_is_windows -# allow xpass for python 2 on windows @pytest.mark.xfail(strict=(not platform_is_windows), reason='fail_on_pvlib_version should cause test to fail') @fail_on_pvlib_version('0.0') From 900ed15d0e4d6ec613294357194c87567d2a8cde Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Mon, 22 Jul 2019 00:06:41 -0400 Subject: [PATCH 10/18] Import JSONDecodeError directly in py3 way. --- pvlib/iotools/psm3.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pvlib/iotools/psm3.py b/pvlib/iotools/psm3.py index 560a259962..caa7ee9813 100644 --- a/pvlib/iotools/psm3.py +++ b/pvlib/iotools/psm3.py @@ -7,11 +7,7 @@ import io import requests import pandas as pd -# Python-2 compatible JSONDecodeError -try: - from json import JSONDecodeError -except ImportError: - JSONDecodeError = ValueError +from json import JSONDecodeError URL = "http://developer.nrel.gov/api/solar/nsrdb_psm3_download.csv" From 22f20d4014dfa850ebb98ac1f30ffcd259f988fb Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Mon, 22 Jul 2019 00:07:07 -0400 Subject: [PATCH 11/18] Change Tkinter import (py2) to tkinter (py3). --- pvlib/iotools/tmy.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pvlib/iotools/tmy.py b/pvlib/iotools/tmy.py index 5f67fe739d..a3860c352d 100644 --- a/pvlib/iotools/tmy.py +++ b/pvlib/iotools/tmy.py @@ -154,7 +154,7 @@ def read_tmy3(filename=None, coerce_year=None, recolumn=True): try: filename = _interactive_load() except ImportError: - raise ImportError('Interactive load failed. Tkinter not supported ' + raise ImportError('Interactive load failed. tkinter not supported ' 'on this system. Try installing X-Quartz and ' 'reloading') @@ -204,9 +204,9 @@ def read_tmy3(filename=None, coerce_year=None, recolumn=True): def _interactive_load(): - import Tkinter - from tkFileDialog import askopenfilename - Tkinter.Tk().withdraw() # Start interactive file input + import tkinter + from tkinter.filedialog import askopenfilename + tkinter.Tk().withdraw() # Start interactive file input return askopenfilename() @@ -400,7 +400,7 @@ def read_tmy2(filename): try: filename = _interactive_load() except ImportError: - raise ImportError('Interactive load failed. Tkinter not supported ' + raise ImportError('Interactive load failed. tkinter not supported ' 'on this system. Try installing X-Quartz and ' 'reloading') From de15a931927a3f14b4c08ff9fcea6001225b371a Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Mon, 22 Jul 2019 00:21:09 -0400 Subject: [PATCH 12/18] Update import configparser to only py3 version. --- versioneer.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/versioneer.py b/versioneer.py index 01699a035c..248a7bc0bf 100644 --- a/versioneer.py +++ b/versioneer.py @@ -348,10 +348,7 @@ """ -try: - import configparser -except ImportError: - import ConfigParser as configparser +import configparser import errno import json import os From 505dec12da85a920ffa832654898f19972460d5f Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Mon, 22 Jul 2019 09:28:59 -0400 Subject: [PATCH 13/18] Update documentation comment. --- pvlib/atmosphere.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pvlib/atmosphere.py b/pvlib/atmosphere.py index ee7593f96a..743010e398 100644 --- a/pvlib/atmosphere.py +++ b/pvlib/atmosphere.py @@ -209,8 +209,7 @@ def get_relative_airmass(zenith, model='kastenyoung1989'): Sandia Report, (2012). ''' - # need to filter first because python 2.7 does not support raising a - # negative number to a negative power. + # set zenith values greater than 90 to nans z = np.where(zenith > 90, np.nan, zenith) zenith_rad = np.radians(z) From 7c36148ac3b0c98f8a474ef8d98f3f838e610282 Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Mon, 22 Jul 2019 22:36:51 -0400 Subject: [PATCH 14/18] Remove strict arguments. The case where these were relevant (Windows build using Python 2) is no longer used because Python 2 is no longer supported. --- pvlib/test/test_conftest.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pvlib/test/test_conftest.py b/pvlib/test/test_conftest.py index 9a1510feb5..056c698418 100644 --- a/pvlib/test/test_conftest.py +++ b/pvlib/test/test_conftest.py @@ -3,8 +3,7 @@ from conftest import fail_on_pvlib_version, platform_is_windows -@pytest.mark.xfail(strict=(not platform_is_windows), - reason='fail_on_pvlib_version should cause test to fail') +@pytest.mark.xfail(reason='fail_on_pvlib_version should cause test to fail') @fail_on_pvlib_version('0.0') def test_fail_on_pvlib_version(): pass @@ -15,8 +14,7 @@ def test_fail_on_pvlib_version_pass(): pass -@pytest.mark.xfail(strict=(not platform_is_windows), - reason='ensure that the test is called') +@pytest.mark.xfail(reason='ensure that the test is called') @fail_on_pvlib_version('100000.0') def test_fail_on_pvlib_version_fail_in_test(): raise Exception From ab9d67d0b262b4decb71aa86049aff23020a1cc7 Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Mon, 22 Jul 2019 22:40:26 -0400 Subject: [PATCH 15/18] Remove platform_is_windows import. It is no longer used. --- pvlib/test/test_conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pvlib/test/test_conftest.py b/pvlib/test/test_conftest.py index 056c698418..4659748388 100644 --- a/pvlib/test/test_conftest.py +++ b/pvlib/test/test_conftest.py @@ -1,6 +1,6 @@ import pytest -from conftest import fail_on_pvlib_version, platform_is_windows +from conftest import fail_on_pvlib_version @pytest.mark.xfail(reason='fail_on_pvlib_version should cause test to fail') From 16d7de93dd537bfedfa219c2d2fab3542ecf8fc4 Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Tue, 23 Jul 2019 11:30:47 -0400 Subject: [PATCH 16/18] Set strict arg to True for two tests. --- pvlib/test/test_conftest.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pvlib/test/test_conftest.py b/pvlib/test/test_conftest.py index 4659748388..94c17358db 100644 --- a/pvlib/test/test_conftest.py +++ b/pvlib/test/test_conftest.py @@ -3,7 +3,8 @@ from conftest import fail_on_pvlib_version -@pytest.mark.xfail(reason='fail_on_pvlib_version should cause test to fail') +@pytest.mark.xfail(strict=True, + reason='fail_on_pvlib_version should cause test to fail') @fail_on_pvlib_version('0.0') def test_fail_on_pvlib_version(): pass @@ -14,7 +15,7 @@ def test_fail_on_pvlib_version_pass(): pass -@pytest.mark.xfail(reason='ensure that the test is called') +@pytest.mark.xfail(strict=True, reason='ensure that the test is called') @fail_on_pvlib_version('100000.0') def test_fail_on_pvlib_version_fail_in_test(): raise Exception From 6f2e10527707efa90376fc080c1e6b3477ad0e61 Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Tue, 23 Jul 2019 11:33:50 -0400 Subject: [PATCH 17/18] Fix indentation mistake. Convert tabs to spaces. --- pvlib/test/test_conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pvlib/test/test_conftest.py b/pvlib/test/test_conftest.py index 94c17358db..14cc7e5d79 100644 --- a/pvlib/test/test_conftest.py +++ b/pvlib/test/test_conftest.py @@ -4,7 +4,7 @@ @pytest.mark.xfail(strict=True, - reason='fail_on_pvlib_version should cause test to fail') + reason='fail_on_pvlib_version should cause test to fail') @fail_on_pvlib_version('0.0') def test_fail_on_pvlib_version(): pass From 69ba04999ad91b8dc4e9dc15183727aa4ff1d9bc Mon Sep 17 00:00:00 2001 From: Alexander Morgan Date: Wed, 24 Jul 2019 12:51:51 -0400 Subject: [PATCH 18/18] Revert "Remove from __future__ import print_function." This reverts commit 0508b33d6c5d77f3050825910415ee3da6477d3c. This also undoes the changes to how configparser is imported. --- versioneer.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/versioneer.py b/versioneer.py index 248a7bc0bf..7ed2a21d28 100644 --- a/versioneer.py +++ b/versioneer.py @@ -348,7 +348,11 @@ """ -import configparser +from __future__ import print_function +try: + import configparser +except ImportError: + import ConfigParser as configparser import errno import json import os