Hi rama, I've read that pip was not working with the binary package, but I've never actually tried it ;-) I'm happy to hear that it works fine - and that it has resolved your problem with the pandas module (at least on PY3). I'll test this a bit, and update my HOWTO page!
About pynsist, it seems to me like the NSIS Setup tool + PyInstaller (and it does not support Mac). I like the idea but I don't see any big advantage over PyInstaller itself. Thank you, Nico Il giorno mar 30 apr 2019 alle ore 05:15 rāma <ranjeev...@gmail.com> ha scritto: > Hi Nico, > > Thanks for your inputs. > > I've actually run windows py2.7 binary with modules within site-packages, > and pip can be leveraged by setting your target folder like this: pip > install -t site-packages <package_name>. Just for the benefit of other > readers. It's just that pandas didn't quite work for me in py2.7 and ported > my code to python 3.5+. > > It is convenient to distribute your app and whole web2py as a binary or as > a client for desktop users. If we were to package with pynsist with > webview: > https://github.com/takluyver/pynsist/tree/master/examples/pywebview it > can act *like *a standalone binary app on Windows or Mac masking the > local web address. I also see a value in this as a way forward to have > python based program running like a program locally on a client rather in > the cloud wherever necessary cloud sync can be employed. I have not been > successful with pynsist though. > > Best, > rama > > On Monday, 29 April 2019 20:49:49 UTC+8, Nico Zanferrari wrote: >> >> Hi rama, >> >> first of all, note that the shell.py fix will resolve only the >> 'cosmethic' problem of the help command (and "copyright", "credits" , >> "license" commands) that doesn't work in the interactive shell. But it will >> not change the import problem in any way. >> >> >> According to the manual, if you run web2py *from source* you can import >> from it any python module that is in the PYTHONPATH (sys.path) - which is >> automatically changed by web2py in order to include also >> web2py/site-packages (globally) and web2py/application/yourapp/modules >> (inside yourapp). >> The last one is preferred if you are planning to distribute the app or >> you are experimenting with different versions of the same module. It also >> has higher priority and can even be accessed by other apps as >> web2py/application/anotherapp/modules. >> >> If you run web2py *from the compiled binary*, any system-wide folder >> will be ignored - only what's down the web2py folder will be available. >> Modules can be placed on the folders: web2py, web2py/site-packages >> (globally for all the apps) and web2py/application/yourapp/modules (inside >> yourapp). You can check it by yourself with the interactive shell and the >> simple helloworld.py module. >> >> What's different and problematic in the 'running from binary' is that you >> cannot use pip (or similar) for installing modules inside. You instead have >> to pip-install them on a full system (that has python of the same version >> of the binary one) and manually copy the related files inside the binary >> folders. For complex module like pandas, you also have to copy all the >> files for the related pre-requisites - and possibly test them one by one. >> > Unfortunately, this could fail - expecially if the modules have binary >> files. In this case, the last resort is to try to compile the binary >> version by yourself from a working web2py source - following the >> instructions on my repository and specifying your additional needed >> modules. Maybe PyInstaller will play the module dependency game better than >> you ;-) >> >> >> I've also copied these advices on this howto page >> <https://github.com/nicozanf/web2py-pyinstaller/blob/master/HOWTO-modules.md> >> for >> future reference - feel free to correct me if I was wrong somewhere! >> >> >> Cheers, >> Nico >> >> >> Il giorno lun 29 apr 2019 alle ore 04:24 rāma <ranj...@gmail.com> ha >> scritto: >> >>> Hi Nico, >>> >>> Thank you for the insights. I am actually importing a number of modules >>> within the controllers fyi, not only via shell. >>> >>> Would patching shell.py fix the behaviour application wide? >>> >>> Do you suggest I pip install into site-packages again instead of copying >>> from my source version? I suspect that it's not going to fix it. >>> >>> Folder structure: >>> web2py >>> |_site-packages <- here's where my modules are >>> >>> I am trying to package and bundle the whole web2py for work as an app >>> solution and for test release soon. >>> Your experimental binaries would definitely help me to do early test >>> with users while waiting for the official binaries. I could do some quick >>> patches on web2py if required too, please advise how. >>> >>> Best, >>> rama >>> >>> On Monday, 29 April 2019 05:30:55 UTC+8, Nico Zanferrari wrote: >>>> >>>> I've found why the help command (and "copyright", "credits" , >>>> "license") it's missing. It's due to the fact that PyInstaller replaces >>>> the original python module 'site' with a fake one >>>> <https://github.com/pyinstaller/pyinstaller/blob/develop/PyInstaller/fake-modules/site.py> >>>> that contains this comment: >>>> >>>> >>>> "This is a fake 'site' module available in default Python Library. >>>> >>>> The real 'site' does some magic to find paths to other possible >>>> Python modules. We do not want this behaviour for frozen applications. >>>> >>>> Fake 'site' makes PyInstaller to work with distutils and to work inside >>>> virtualenv environment." >>>> >>>> It's possible to change this behaviour on gluon/shell.py by adding the >>>> missing code - I'm setting up a PR for this ;-) >>>> >>>> Nico >>>> >>>> >>>> Il giorno dom 28 apr 2019 alle ore 19:45 Nico Zanferrari < >>>> nico...@gmail.com> ha scritto: >>>> >>>>> Hi rāma, >>>>> >>>>> in fact we are both wrong and the console is working fine! >>>>> I've tested it with a simple module (the simplest one, helloword.py , >>>>> see >>>>> https://stackoverflow.com/questions/15746675/how-to-write-a-python-module-package) >>>>> and it can be regularly imported if it's placed on the main folder or on >>>>> the site-packages one. So, it seems that your problem is strictly related >>>>> to copying the pandas module. >>>>> >>>>> But indeed the interactive console is not so perfect. It's somehow >>>>> missing the help command (and "copyright", "credits" , "license"), and >>>>> this >>>>> happens with PyInstaller on PY2/PY3 with Windows and Mac even with the >>>>> simple 2-lines program: >>>>> >>>>> import code >>>>> code.interact() >>>>> >>>>> Nico >>>>> >>>>> Il giorno sab 27 apr 2019 alle ore 13:45 rāma <ranj...@gmail.com> ha >>>>> scritto: >>>>> >>>>>> Any quick fix will be appreciated though. >>>>>> >>>>>> On Friday, 26 April 2019 15:30:57 UTC+8, Massimo Di Pierro wrote: >>>>>>> >>>>>>> Yes. The plan is to provide the following executable from the >>>>>>> official web page: >>>>>>> >>>>>>> OS web2py for py2.7, web2py for py3.7, web3py for py3.7 (WIP) >>>>>>> WINDOWS web2py for py2.7, web2py for py3.7, web3py for py3.7 (WIP) >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Thursday, 25 April 2019 22:02:37 UTC-7, rāma wrote: >>>>>>>> >>>>>>>> This is wonderful. And, something I would love to be adopted to the >>>>>>>> official repo. >>>>>>>> >>>>>>>> Thanks for this! >>>>>>>> >>>>>>>> On Sunday, 3 March 2019 19:24:38 UTC+8, Nico Zanferrari wrote: >>>>>>>>> >>>>>>>>> Good morning! >>>>>>>>> >>>>>>>>> I'm proud to say that I've succeeded in building the Windows 64 >>>>>>>>> bit binary with python 3.7.2 using pyinstaller ! Grab it from >>>>>>>>> https://github.com/nicozanf/web2py-pyinstaller >>>>>>>>> >>>>>>>>> There are some little gothas, but it seems to work fine: >>>>>>>>> - in the console I've got many errors like >>>>>>>>> 'ERROR:Rocket.Errors.Thread-2:Tried to send "500 Server Error" to >>>>>>>>> client >>>>>>>>> but received socket error'. They disappear as soon as I've disabled >>>>>>>>> IPv6 >>>>>>>>> and rebooted. There are users that report also to fix similar >>>>>>>>> problems by >>>>>>>>> adding the hostname on the hosts file >>>>>>>>> - psycopg2 is placed in a folder by itself, instead than in the >>>>>>>>> root folder >>>>>>>>> - in the currently official binary build (with pyhton 2.7) there >>>>>>>>> are also two binaries: web2py_no_console.exe and >>>>>>>>> web2py_on_gevent.exe. They >>>>>>>>> don't run correctly, and don't seem to be so important for me so I've >>>>>>>>> decided to skip their generation. >>>>>>>>> - Macintosh compatibility is needed, but I cannot work on it >>>>>>>>> >>>>>>>>> Please, help with testing it! I'll make a PR on the official >>>>>>>>> web2py repository after some feedback. >>>>>>>>> >>>>>>>>> Cheers, >>>>>>>>> Nico >>>>>>>>> >>>>>>>>> Il giorno mer 27 feb 2019 alle ore 12:03 Nico Zanferrari < >>>>>>>>> nico...@gmail.com> ha scritto: >>>>>>>>> >>>>>>>>>> Hi, >>>>>>>>>> >>>>>>>>>> this is a big problem also from my point of view and I've already >>>>>>>>>> opened issue 2027 <https://github.com/web2py/web2py/issues/2027> . >>>>>>>>>> However it's not so easy to achieve this goal, because you've to >>>>>>>>>> switch to >>>>>>>>>> 3.x + go 64 bit + change the *freezer* program (py2exe >>>>>>>>>> and bbfreeze do not work with python >= 3.5). I'm playing with >>>>>>>>>> pyinstaller, >>>>>>>>>> but I'm not promising anything. And also a binary Mac version is >>>>>>>>>> needed (I >>>>>>>>>> only have a Win box), plus testing everything. >>>>>>>>>> >>>>>>>>>> Cheers, >>>>>>>>>> Nico >>>>>>>>>> >>>>>>>>>> Il giorno mer 27 feb 2019 alle ore 11:45 elisha bere < >>>>>>>>>> elish...@gmail.com> ha scritto: >>>>>>>>>> >>>>>>>>>>> Hie, >>>>>>>>>>> >>>>>>>>>>> Is it possible to change from 2.7 to 3.x in my web2py app >>>>>>>>>>> >>>>>>>>>>> On 17 Feb 2019 20:57, "Jitun John" <jitu...@gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> "It requires Python 2.6 (no more supported), Python 2.7 >>>>>>>>>>>> (stable) or Python 3.5+ (*recommended for new projects*) >>>>>>>>>>>> already installed on your system. >>>>>>>>>>>> There are also *binary packages for Windows* and Mac OS X.* >>>>>>>>>>>> They include the Python 2.7 interpreter* so you do not need to >>>>>>>>>>>> have it pre-installed." >>>>>>>>>>>> >>>>>>>>>>>> Sorry for my ignorance, I am assuming "Python 2.7 interpreter" >>>>>>>>>>>> as "python27.dll" and "pywintypes27.dll" files. >>>>>>>>>>>> >>>>>>>>>>>> I recently moved my app from 2.x to 3.x using PyCharm IDE and >>>>>>>>>>>> the app works fine when using IDE on 3.7 python. >>>>>>>>>>>> But when I try to compile it to .exe (using .iss file + >>>>>>>>>>>> hstart.exe), I cant use the existing web2py_win.zip file. >>>>>>>>>>>> >>>>>>>>>>>> Gives me "<type 'exceptions.ValueError'> unsupported pickle >>>>>>>>>>>> protocol: 3" >>>>>>>>>>>> >>>>>>>>>>>> As we are recommending new projects on 3.x, Is it possible for >>>>>>>>>>>> the next version to have a 3.x interpreter ? >>>>>>>>>>>> or if we have a workaround, I am happy to try it. >>>>>>>>>>>> >>>>>>>>>>>> Thanks. >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Resources: >>>>>>>>>>>> - http://web2py.com >>>>>>>>>>>> - http://web2py.com/book (Documentation) >>>>>>>>>>>> - http://github.com/web2py/web2py (Source code) >>>>>>>>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>>>>>>>>>> --- >>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>> Google Groups "web2py-users" group. >>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>>> it, send an email to web...@googlegroups.com. >>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Resources: >>>>>>>>>>> - http://web2py.com >>>>>>>>>>> - http://web2py.com/book (Documentation) >>>>>>>>>>> - http://github.com/web2py/web2py (Source code) >>>>>>>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>>>>>>>>> --- >>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>> Google Groups "web2py-users" group. >>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>> it, send an email to web...@googlegroups.com. >>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>> >>>>>>>>>> -- >>>>>> Resources: >>>>>> - http://web2py.com >>>>>> - http://web2py.com/book (Documentation) >>>>>> - http://github.com/web2py/web2py (Source code) >>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>>>> --- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "web2py-users" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to web...@googlegroups.com. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> -- >>> Resources: >>> - http://web2py.com >>> - http://web2py.com/book (Documentation) >>> - http://github.com/web2py/web2py (Source code) >>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "web2py-users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to web...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- > Resources: > - http://web2py.com > - http://web2py.com/book (Documentation) > - http://github.com/web2py/web2py (Source code) > - https://code.google.com/p/web2py/issues/list (Report Issues) > --- > You received this message because you are subscribed to the Google Groups > "web2py-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to web2py+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.