I hacked around this limitation by including matplotlib data and rc file 
into the app plus a couple minor tweaks, here's the demo:
gae-matplotlib-demo.appspot.com


On Saturday, December 29, 2012 5:21:57 AM UTC+1, Brian Quinlan wrote:
>
> From the documentation 
> (https://developers.google.com/appengine/docs/python/tools/libraries27): 
>
> "Note: The experimental release of matplotlib is not supported on the 
> development server. You can still add matplotlib to the libraries 
> list, but it will raise an exception when imported." 
>
> Cheers, 
> Brian 
>
> On Sat, Dec 29, 2012 at 7:30 AM, Xin Meng <[email protected]<javascript:>> 
> wrote: 
> > 
> > Hi guys, 
> > 
> > I was testing out the new GAE sdk 1.7.4 python version with the 
> matplotlib 
> > support, and I have encountered the following error: 
> > 
> > WARNING  2012-12-28 20:27:55,009 py_zipimport.py:139] Can't open zipfile 
> > D:\Python27\lib\site-packages\python_memcached-1.48-py2.7.egg: IOError: 
> > [Errno 13] file not accessible: 
> > 'D:\\Python27\\lib\\site-packages\\python_memcached-1.48-py2.7.egg' 
> > WARNING  2012-12-28 20:27:55,025 py_zipimport.py:139] Can't open zipfile 
> > D:\Python27\lib\site-packages\setuptools-0.6c12dev_r88846-py2.7.egg: 
> > IOError: [Errno 13] file not accessible: 
> > 
> 'D:\\Python27\\lib\\site-packages\\setuptools-0.6c12dev_r88846-py2.7.egg' 
> > WARNING  2012-12-28 20:27:55,976 dev_appserver_import_hook.py:557] 
> Blocking 
> > access to skipped file "d:\nus\quality control sms 
> > system\webapp5\.matplotlibrc" 
> > WARNING  2012-12-28 20:27:55,976 dev_appserver_import_hook.py:557] 
> Blocking 
> > access to skipped file "d:\nus\quality control sms 
> > system\webapp5\~\.matplotlibrc" 
> > WARNING  2012-12-28 20:27:55,976 dev_appserver_import_hook.py:557] 
> Blocking 
> > access to skipped file "d:\nus\quality control sms 
> > system\webapp5\~\.matplotlib" 
> > ERROR    2012-12-28 20:27:55,976 wsgi.py:219] 
> > Traceback (most recent call last): 
> >   File "E:\Program 
> > Files\Google\google_appengine\google\appengine\runtime\wsgi.py", line 
> 196, 
> > in Handle 
> >     handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) 
> >   File "E:\Program 
> > Files\Google\google_appengine\google\appengine\runtime\wsgi.py", line 
> 255, 
> > in _LoadHandler 
> >     handler = __import__(path[0]) 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 692, in Decorate 
> >     return func(self, *args, **kwargs) 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 1766, in load_module 
> >     return self.FindAndLoadModule(submodule, fullname, search_path) 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 692, in Decorate 
> >     return func(self, *args, **kwargs) 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 1630, in FindAndLoadModule 
> >     description) 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 692, in Decorate 
> >     return func(self, *args, **kwargs) 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 1577, in LoadModuleRestricted 
> >     description) 
> >   File "D:\NUS\Quality Control SMS System\Webapp5\main.py", line 15, in 
> > <module> 
> >     import Qualitics_Logic 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 692, in Decorate 
> >     return func(self, *args, **kwargs) 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 1766, in load_module 
> >     return self.FindAndLoadModule(submodule, fullname, search_path) 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 692, in Decorate 
> >     return func(self, *args, **kwargs) 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 1630, in FindAndLoadModule 
> >     description) 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 692, in Decorate 
> >     return func(self, *args, **kwargs) 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 1577, in LoadModuleRestricted 
> >     description) 
> >   File "D:\NUS\Quality Control SMS System\Webapp5\Qualitics_Logic.py", 
> line 
> > 4, in <module> 
> >     import matplotlib.mlab as mlab 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 692, in Decorate 
> >     return func(self, *args, **kwargs) 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 1766, in load_module 
> >     return self.FindAndLoadModule(submodule, fullname, search_path) 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 692, in Decorate 
> >     return func(self, *args, **kwargs) 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 1630, in FindAndLoadModule 
> >     description) 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 692, in Decorate 
> >     return func(self, *args, **kwargs) 
> >   File "E:\Program 
> > 
> Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py",
>  
>
> > line 1577, in LoadModuleRestricted 
> >     description) 
> >   File "D:\Python27\lib\site-packages\matplotlib\__init__.py", line 772, 
> in 
> > <module> 
> >     rcParams = rc_params() 
> >   File "D:\Python27\lib\site-packages\matplotlib\__init__.py", line 690, 
> in 
> > rc_params 
> >     fname = matplotlib_fname() 
> >   File "D:\Python27\lib\site-packages\matplotlib\__init__.py", line 602, 
> in 
> > matplotlib_fname 
> >     fname = os.path.join(get_configdir(), 'matplotlibrc') 
> >   File "D:\Python27\lib\site-packages\matplotlib\__init__.py", line 253, 
> in 
> > wrapper 
> >     ret = func(*args, **kwargs) 
> >   File "D:\Python27\lib\site-packages\matplotlib\__init__.py", line 480, 
> in 
> > _get_configdir 
> >     os.mkdir(p) 
> > AttributeError: 'module' object has no attribute 'mkdir' 
> > INFO     2012-12-28 20:27:55,993 dev_appserver.py:3103] "GET / HTTP/1.1" 
> 500 
> > - 
> > INFO     2012-12-28 20:27:56,055 dev_appserver.py:3103] "GET 
> /favicon.ico 
> > HTTP/1.1" 304 - 
> > 
> > I have no idea how this happened. I have tried to import the matplotlib 
> in 
> > normal python environment and it worked OK. It somehow doesn't get along 
> > with GAE :s 
> > 
> > Any thoughts? 
> > 
> > Thx 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "Google App Engine" group. 
> > To view this discussion on the web visit 
> > https://groups.google.com/d/msg/google-appengine/-/hVjbQnyYfxgJ. 
> > To post to this group, send email to 
> > [email protected]<javascript:>. 
>
> > To unsubscribe from this group, send email to 
> > [email protected] <javascript:>. 
> > For more options, visit this group at 
> > http://groups.google.com/group/google-appengine?hl=en. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/3vZGgv7ppcgJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to