From e3d77b5d2d13666ed2dac4a55919e5ccd1803418 Mon Sep 17 00:00:00 2001 From: pyElena21 Date: Wed, 20 Jan 2016 11:43:23 +0000 Subject: [PATCH 1/2] Update pvsystem.py I think you need this change in tkinter module import in order to comply with Python 3. Cheers, Elena --- pvlib/pvsystem.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pvlib/pvsystem.py b/pvlib/pvsystem.py index 66bff02a1f..61038cfe20 100644 --- a/pvlib/pvsystem.py +++ b/pvlib/pvsystem.py @@ -551,9 +551,9 @@ def retrieve_sam(name=None, samfile=None): response = urlopen(url) csvdata = io.StringIO(response.read().decode(errors='ignore')) elif samfile == 'select': - import Tkinter - from tkFileDialog import askopenfilename - Tkinter.Tk().withdraw() + import tkinter + from tkinter.filedialog import askopenfilename + tkinter.Tk().withdraw() csvdata = askopenfilename() else: csvdata = samfile From 6b49547088e6a35873d4ca53aff7366bc3c3d447 Mon Sep 17 00:00:00 2001 From: pyElena21 Date: Thu, 21 Jan 2016 10:51:25 +0000 Subject: [PATCH 2/2] Update pvsystem.py --- pvlib/pvsystem.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pvlib/pvsystem.py b/pvlib/pvsystem.py index 61038cfe20..303fa9788a 100644 --- a/pvlib/pvsystem.py +++ b/pvlib/pvsystem.py @@ -551,10 +551,17 @@ def retrieve_sam(name=None, samfile=None): response = urlopen(url) csvdata = io.StringIO(response.read().decode(errors='ignore')) elif samfile == 'select': - import tkinter - from tkinter.filedialog import askopenfilename - tkinter.Tk().withdraw() - csvdata = askopenfilename() + try: + # python 2 + import Tkinter as tkinter + from tkFileDialog import askopenfilename + except ImportError: + # python 3 + import tkinter + from tkinter.filedialog import askopenfilename + + tkinter.Tk().withdraw() + csvdata = askopenfilename() else: csvdata = samfile