The line is: from distutils import dir_util
I think you need to install distutils separately. On Tuesday, 16 October 2012 09:14:47 UTC-5, apps in tables wrote: > > when i click on "deploy to openshift" , I get the error : > > cannot import name dir_util > > On Tuesday, October 16, 2012 2:17:43 PM UTC+3, Massimo Di Pierro wrote: >> >> As far as I know it works but I will say "experimental" until more people >> have tried it. >> >> On Tuesday, 16 October 2012 04:07:37 UTC-5, apps in tables wrote: >>> >>> Thanks... >>> >>> is "deploy to openshift" experimental? >>> >>> On Tuesday, October 16, 2012 4:04:36 AM UTC+3, Massimo Di Pierro wrote: >>>> >>>> The book is now kind of in between versions.... it is correct but some >>>> of the new features are not described and some example use old API while >>>> there is a better way. I plan to finish update it and release the 5th >>>> editions within one month. Hopefully sooner. >>>> >>>> On Monday, 15 October 2012 20:01:33 UTC-5, apps in tables wrote: >>>>> >>>>> >>>>> Fantastic.....as usual. >>>>> >>>>> tiny hint: >>>>> can the book title be more descriptive of the related version of >>>>> web2py ? >>>>> >>>>> >>>>> On Monday, October 15, 2012 8:30:42 PM UTC+3, martzi wrote: >>>>>> >>>>>> Many thanks Massimo web2py is here to stay ! >>>>>> >>>>>> On Monday, October 15, 2012 1:55:39 PM UTC+2, Massimo Di Pierro wrote: >>>>>>> >>>>>>> Changelog: >>>>>>> >>>>>>> - overall faster web2py >>>>>>> - when apps are deleted, a w2p copy left in deposit folder >>>>>>> - change in cron (it is now disabled by default). removed -N option >>>>>>> and introdu\ >>>>>>> ced -Y. >>>>>>> - faster web2py_uuid() and request initialization logic, thanks >>>>>>> Michele >>>>>>> - static asset management, thanks Niphlod >>>>>>> - improved mobile admin >>>>>>> - request.requires_https and Auth(secure=True), thanks Yarin and >>>>>>> Niphlod >>>>>>> - better custom_import (works per app and is faster), thanks Michele >>>>>>> - redis_sesssion.py, thanks Niphlod >>>>>>> - allow entropy computation in IS_STRONG and web2py.js, thanks >>>>>>> Jonathan and Nip\ >>>>>>> hlod >>>>>>> - fixed many aith.wiki problems >>>>>>> - support for auth.wiki(render='html') >>>>>>> - better welcome layout, thanks Paolo >>>>>>> - db.define_table(...,redefine=True) >>>>>>> - DAL, Row, and Rows object can now be pickled/unpickled, thanks to >>>>>>> zombie DAL. >>>>>>> - admin uses codemirror >>>>>>> - allow syntax auth = Auth(db).define_tables() >>>>>>> - better auth.wiki with preview, thanks Alan >>>>>>> - better auth.impersonate, thanks Alan >>>>>>> - upgraded jQuery 1.8 >>>>>>> - upgraded Bootstrap 2.1 >>>>>>> - fixed problems with dropbox_account.py >>>>>>> - many fixes to cache.ram, cache.disk, memcache and gae_memcache >>>>>>> - cache.with_prefix(cache.ram,'prefix') >>>>>>> - db.table.field.epoch() counts seconds from epoch >>>>>>> - DAL support for SQL CASE, example: >>>>>>> db().select(...query.case('true','false)) >>>>>>> - DAL(...,do_connect=False) allows faking connections >>>>>>> - DAL(...,auto_import=True) now retieves some fiel attributes >>>>>>> - mail can specify a sender: mail.send(...,sender='Mr X >>>>>>> <%(sender)s>') >>>>>>> - renamed gluon/contrib/comet_messaging.py -> >>>>>>> gluon/contrib/websocket_messaging.py >>>>>>> >>>>>>> Please check it and report any problem. >>>>>>> As usual, thanks to the many people who have contributed, in >>>>>>> particular Michele and Niphlod. >>>>>>> >>>>>>> Massimo >>>>>>> >>>>>> --