From: Benjamin R. <ben...@ou...> - 2015-05-24 18:04:35
|
Bryan, First off, avoid importing things from modules that start with an underscore. Because Python doesn't have semantics for public/private APIs like C++ and Java does, the underscore is treated as an indicator to developers that it is to be treated as private. The implication is that we are free to change the API of "private" modules and functions between releases, without warning or recourse, which would lead to breakage of your scripts if you use them. So, use it at your peril. I would recommend using plt.imread() instead, or use the Pillow package to read your data as a numpy array that you can then plot. Now, onto your issue. I suspect it might be related to changes we made in 1.4 to have a cross-platform file-handle. However, the solaris platform is not regularly tested by anybody, so it is quite likely we broke something there. Now, in the master branch on github, we completely rewrote nearly all of the C++ code, so I while it may still be broken there, perhaps we might get a more useful error message or something different entirely? Can you try building from the master branch and letting us know? Cheers! Ben Root P.S. - The script in question wasn't perhaps written originally by a former Meteorologist colleague from the University of Oklahoma? ;-) If it was, he was my officemate! On Thu, May 21, 2015 at 4:08 PM, Bryan Williams < bry...@gm...> wrote: > Good afternoon, > > > > My name is Bryan Williams. I work for the Florida Forest Service in their > Forest Logistics and Support Bureau. > > > > I’m working on a program that takes weather data and visualizes it using > matplotlib and Basemap. I’m currently having an issue with matplotlib 1.4.3 > for Python 3.4.3 running under Solaris 5.10. I am getting a Runtime Error > whenever I try calling the read_png file from matplotlib._png. (I’m using > this to add a small .png file of the Forest Service’s sheld to the > picture). The error is the following: > > > > Traceback (most recent call last): > > File "drawmaps.py", line 845, in <module> > > arr_lena = read_png(fn) > > RuntimeError: Error closing dupe file handle > > > > I don’t quite understand the error I’m getting, and as you can see, the > traceback gives very little information. I also tried Google for help, but > to no avail; entering the error message as is into Google doesn’t return > anything relating to the problem, and putting quotes around “Error closing > dupe file handle” yields about 10 results, with one of them being an > unanswered question from 2014 regarding the same issue. > > > > As per your request on the website, here’s what I get from uname –a: > > > > SunOS [server name withheld] 5.10 Generic_141444-09 sun4v sparc > SUNW,SPARC-Enterprise-T5220 > > > > I built Python 3.4.3 from source and installed matplotlib through pip, and > didn’t make any changes to the matplotlibrc file. > > > > I was able to reproduce the problem again running these commands in the > Python interactive prompt, which emulates the snippet of script that causes > the error: > > > > Python 3.4.3 (default, May 15 2015, 13:52:23) > > [GCC 4.9.2] on sunos5 > > Type "help", "copyright", "credits" or "license" for more information. > > >>> from matplotlib._png import read_png > > >>> from matplotlib.cbook import get_sample_data > > >>> import os; path=os.getcwd() > > >>> fn = get_sample_data(path + '/resources/shield.png', asfileobj=False) > > >>> arr_lena = read_png(fn) > > Traceback (most recent call last): > > File "<stdin>", line 1, in <module> > > RuntimeError: Error closing dupe file handle > > > > > > If you’d like a copy of the problem script, please let me know. Any and > all help is greatly appreciated. > > > > Thank you in advance! > > > > -- BMW > > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |