David, This kind of explains why pyodbc cannot run on apache under wsgi.
The below link solution may also work with you because I assume Uniform server is built with correct compiler. https://groups.google.com/group/web2py/browse_thread/thread/1cc544f52d9aeac4/eb79347e29582367#eb79347e29582367 On Oct 12, 1:52 am, dlypka <dly...@gmail.com> wrote: > P.S. > In this scenario, you have to run web2py with > -i 138.85.50.99 -p 8000 > for example: > python web2py.py -a "<recycle>" -i 138.85.50.99 -p 8000 > > On Oct 10, 6:36 pm, dlypka <dly...@gmail.com> wrote: > > > > > > > > > Resolved: > > > After researching, I see this problem plagues many other developers as > > well. > > The root cause is that the Distribution Windows Build of Apache 2.2 is > > built with msvcr71.dll which is the C++ runtime dll > > for Visual Studio 2003!!! But, most recent builds of python .pyd files > > which link to C/C++ code, are built with msvcr90.dll which is the one > > from Visual Studio 2008. As a result, Apache chokes with this obscure > > error (failure to load a dll) whenever a pyd is imported that is built > > with any C/C+ runtime which is not msvrcr71.dll. If you run httpd.exe > > from a command prompt, you will get an error popup for Microsoft error > > R6034. > > > In particular, if you want to used sftp in python on Apache 2.2, you > > cannot do so using the distributed Windows build of Apache 2.2. > > However, there are lots of postings showing how to build Apache 2.2 > > yourself under Visual Studio 2008, so that would be the workaround for > > running web2py on a Windows platform under Apache 2.2 when you are > > doing sftp or something using C/C++ code. > > Seehttp://comments.gmane.org/gmane.comp.apache.devel/43600whereit > > mentions that Apache 2.4 will finally > > be built with a current Microsoft C++ runtime dll. > > Another workaround if you do not want to build Apache in VS 2008, is > > to try to run web2py under IIS. > > I got it working under IIS 7 on Vista, but yes, it is quite difficult > > to do even with the easiest of the 3 methods > > described in the web2py slice about IIS. The easiest method is to use > > Rocket together with IIS 7, where IIS 7 is used as a proxy for > > Rocket. Additional steps to take regarding what is mentioned in the > > slice is to create web application in IIS 7 to serve as a kind of > > surrogate for the web2py application. Plus the specifics of the > > routes.py entries and of the .NET URL rewriter file > > ManagedFusion.Rewriter.txt are pretty much have to discovered by > > experimentation. > > Here is what works for my web2py app named 'UETR' on IIS 7: > > > ManagedFusion.Rewriter.txt > > ------------------------------------------------------- > > RewriteEngine On > > RewriteBase / > > RewriteRule ^(/) http://138.85.50.99:8000/UETR?r=$1[R,NC] > > > c:\web2py\routes.py > > ----------------------- > > > default_application = 'UETR' # ordinarily set in base routes.py > > default_controller = 'default' # ordinarily set in app-specific > > routes.py > > default_function = 'index' # ordinarily set in app-specific > > routes.py > > > routes_app = ((r'/(?P<app>welcome|admin|uetr)\b.*', r'\g<app>'), > > (r'(.*)', r'UETR'), > > (r'/?(.*)', r'UETR')) > > > routes_in = ((r'.*:/favicon.ico', r'/examples/static/favicon.ico'), > > (r'.*:/robots.txt', r'/examples/static/robots.txt'), > > (r'.*:/LTE1/index', r':8000/UETR/default/ > > index'), > > ((r'.*http:/localhost.* (?P<any>.*)', r'http://localhost: > > 8000/UETR/default/index'))) > > > routes_out = ((r'.*http://otherdomain.com.*/app/ctr(?P<any>.*)', > > r'\g<any>'), > > (r'/app(?P<any>.*)', r'\g<any>')) > > --------------------------------------------------------------------------- > > ------------------- > > I created an ASP.NET 4.0 web application on IIS 7 whose Virtual > > Directory name is 'LTE1' > > In it, I used the Visual Studio 2010 wizard to create a basic web > > application (hello world roughly). > > In that web application I had to modify the web.config as per the > > documentation for ManagedFusion.Rewriter > > I also created a 'bin' folder in LTE1 and copied the Managed Fusion > > dll into into it. > > > The actual content of the .aspx pages in this .NET web app are > > irrelevant as this app is never > > rendered. Only its web.config is read and acted upon by Managed > > Fusion, to cause the request to be passed to > > the URL where web2py is running on Rocket at port 8000. > > --------------------------------------------------------------------------- > > ------------------ > > Now if I browse tohttp://138.85.50.99/LTE1 > > > It hits IIS 7 and magically reroutes to my UETR web2py app > > athttp://138.85.50.99:8000/UETR?r=/LTE1 > > > More work is needed to refine it, but the basic functionality is > > shown. > > > On Oct 6, 9:19 pm,dlypka<dly...@gmail.com> wrote: > > > > My web2py app which uses paramiko sftp, works fine under the Rocket > > > webserver, > > > but fails here when run under the Apache 2.2 webserver, under WINDOWS > > > VISTA Enterprise: > > > > • File "C:\Python27\lib\site-packages\Crypto\Random\OSRNG\nt.py", line > > > 28 > > > > import winrandom <------ failing to load some DLL at line 28 > > > ---------- > > > from rng_base import BaseRNG > > > > I imagine it is some kind of permissions problem, maybe with having to > > > load a cryptographic C dll > > > > I have already run a Process viewer and cleaned up the PATH to avoid > > > dll search failures. > > > > This is a proof of concept app to a major U.S. corporation. They have > > > already seen it work under Rocket > > > and are very excited to see it deployed under a standard webserver. > > > > An alternative is to use IIS7 but the web2py slice I read looked very > > > difficult to follow so I am trying Apache first. > > > We are also running Symantec anti virus (corporate edition) and we are > > > locked out from being able to disable it. > > > Not sure if antivirus interferes with Apache. We only have this > > > corporate PC to use at the moment. > > > > I would appreciate any clues or tips for configuring Apache to load > > > paramiko sftp under Windows. > > > Or links to straight-forward and $free steps for installing web2py > > > under IIS 7 in Vista.