Okay, it was worth asking about Linux. Given the Windows requirements,
though, we'll have to figure out another plan.

So this comes down to the Python path. Can you determine where the BitNami
stack's Python site-packages directory is, and also figure out where the
ReviewBoard*.egg directory is? If they're not in the same place, then that's
the cause of the error you're seeing, so that'll be the first thing to
check. If that's indeed the problem, we should get a lot further pretty
quickly once that's fixed.

Python 2.7 is certainly supported. Were there instructions somewhere saying
you needed 2.5?

You're right in that not all Python-based apps have this level of
difficulty. The difference with us is that we depend on some modules that
use native code by way of DLLs (repository bindings, SSH wrappers, etc.),
and there are some really frustrating compatibility issues based on which
compiler different things are using. Most Python apps out there use pure
Python modules, and that's far easier.

Now you haven't hit those issues yet, but they may be a problem down the
road, depending. We'll cross that bridge when we come to it.

Christian

-- 
Christian Hammond - chip...@chipx86.com
Review Board - http://www.reviewboard.org
VMware, Inc. - http://www.vmware.com


On Wed, May 25, 2011 at 2:17 PM, Eric Mann <e...@eam.me> wrote:

> On Wed, May 25, 2011 at 1:47 PM, Christian Hammond <chip...@chipx86.com>wrote:
>
>> Hi Eric,
>>
>> Sorry you're hitting problems. Let's see if we can get through them.
>>
>> First off, I'm curious what problems you hit with Apache. We generally
>> recommend Apache and mod_wsgi, though mod_python tends to work well too
>> (provided it's available -- Apache deprecated it).
>>
>
> My first attempt was to install vanilla Apache and MySql.  MySql installed
> just fine, as did Apache.  But trying to reconfigure Apache to do anything
> else was where the problems came up.  I have Python 2.7 on my system (for
> other tools I'm already use and scripting with, so downgrading to 2.5 is not
> an option).  I couldn't get the build tools to work to manually recompile
> mod_python for 2.7 (due to the various make/cmake/gnumake systems I have
> installed for working with .Net and Delphi), so I tried looking for
> precompiled binaries instead.
>
> Every precompiled system I found failed.  mod_python, FastCGI, FCGI, and
> even mod_wsgi broke Apache when I tried to enable them in http.conf.  And by
> broke, I mean triggered a "generic error with code 1" when I tried to start
> the httpd service.  I went with the BitNami stack for one reason: the only
> reference I could find to successfully installing Review Board under Windows
> referenced it.  Everyone else listed pages of complaints and problems and
> said they either went to a paid system like Kiln or just put everything on a
> Linux box instead.
>
>
>> However, we don't recommend sqlite. That's only really intended for
>> initial testing, but won't handle the load of many users.
>>
>
> That's fine, I wasn't jazzed about sqlite at all.  I prefer MySQL, but keep
> in mind that the python-mysql bindings available through easy_install are
> broken and you have to either build them yourself or find a precompiled
> binary for Windows somewhere else.  I was trying to get things up and
> running quickly, and it was faster to just use the built-in tool than search
> for a pre-built system.
>
>
>> I don't know anything about the BitNami stack. We don't officially support
>> it, but can still try to guide you through. The thing with that is, you'll
>> end up wanting to upgrade, and that may require upgrading Django, and so
>> you'd have to figure out how that all works with the stack, and how that
>> also works with the way Review Board is upgraded.
>>
>> The fact that you're doing all this on Windows is probably the core
>> problem. A lot of the dependencies we use are absolutely a pain on Windows,
>> due to a variety of reasons. If you can at all try this on Linux (Ubuntu
>> specifically, perhaps in a VM) life will be better for you.
>>
>
> Unfortunately, that's not an option.  We do Windows development on Windows
> machines here.  But our source control is in Mercurial and no one comes
> recommended more highly than Review Board, so I thought I'd give it a shot.
>  But really, I can't afford to run a VM on my workstation just to run a code
> review tool.  If that's what I'll have to end up doing, we'll likely have to
> use some other tool.
>
>
>> Now the problem you're hitting is due to the Python path not factoring in
>> your Review Board install. This is probably a side effect of using the
>> BitNami stack. I imagine it has its own Python interpreter and modules,
>> which means it may have a different Python path from what you're using to
>> install Review Board. The result would be Review Board installed in one
>> place, and your stack looking for modules in another place.
>>
>> Without knowing how their stack works, it's hard to give specific
>> instructions. You'd need to scrap your local Python and use everything from
>> their Python. That means their easy_install, installing Python modules into
>> their setup, etc. Everything needs to be in the same place, with the same
>> Python version, in order to work. It also may mean you'll hit issues with
>> some Python modules using binary components, as everything must be compiled
>> with the same compiler on Windows for it to work. These aren't Review Board
>> problems, but rather the sad reality of Python on Windows.
>>
>> Again, with Linux, these problems basically go away. You'll have one
>> Python you can rely on, a package manager to give you most of what you need,
>> and then you'll be good to go. There are a variety of VM solutions, if you
>> want to still run on top of Windows. Look at VMware Server, for instance.
>> You can find some pre-made Ubuntu server VMs that you can stick Review Board
>> in. The install procedure will be much, much easier.
>>
>> So that's my recommendation. If you have to stick with Windows, you may
>> need to scrap the stack and go back to a system-level Python and Apache and
>> mod_wsgi, and then we can work on hopefully fixing whatever errors you hit.
>>
>
> Like I said, I *started* with a system-level Python and Apache and had
> even more problems with that.  As in I never even got to the "Review Board
> is taking a nap" maintenance screen.  I can give that another whirl, but
> really ... I've already spent far too many manhours trying to get this
> running already.  We can chalk it up to "the sad reality of Python on
> Windows" but to be perfectly honest, I have not had problems on this level
> with any other python-based system.  I followed the "Installing on Windows"
> directions to-the-letter the first time, but didn't get anywhere.  That was
> when I started Googling for other solutions and alternatives.
>  Unfortunately, they haven't seemed to do much better.
>
> I really do want to give Review Board a try, but it has to be able to run
> on Windows, and I have to use Python 2.7.  Those are really the only two
> requirements I have.
>
>
>>  Christian
>>
>> --
>> Christian Hammond - chip...@chipx86.com
>> Review Board - http://www.reviewboard.org
>> VMware, Inc. - http://www.vmware.com
>>
>>
>> On Wed, May 25, 2011 at 11:33 AM, Eric Mann <e...@eam.me> wrote:
>>
>>> OK, I'll try to outline everything I've done so far ... but I'm about
>>> ready to give up.
>>>
>>> First I tried to install ReviewBoard using just a straight Apache
>>> installation and SQLLite.  Unfortunately, Apache in this setup would
>>> not work with any of the CGI variants that I needed to use.  FastCGI
>>> failed, FCGI failed, mod_python failed ... so I scrapped that.
>>>
>>> Second, I tried using LightTPD, but I wasn't able to import any of the
>>> configuration files needed by ReviewBoard.  Making any changes to
>>> LightTPD's conf files broke the system and left me with a lot of
>>> system errors ... so I scrapped that.
>>>
>>> Finally, I found a tutorial suggesting using DjangoStack from
>>> BitNami.  I downloaded and installed that, and since it came with
>>> MySQL I set that up as well.  But I still couldn't get any of the
>>> FastCGI/mod_python stuff to work, so I resorted to wsgi instead.
>>>
>>> My first attempt was to install in a subfolder.  Basically
>>> http://localhost/reviewboard.  But that hosed anything in the root
>>> directory (http://localhost/phpinfo.php would no longer work), though
>>> it still allowed me to use other sub-folder apps (i.e. phpMyAdmin).
>>> But I couldn't get past the "taking a nap" page, so I assumed I'd done
>>> something wrong, uninstalled everything, and tried to install in the
>>> root instead.
>>>
>>> Now, I'm back to the "Review Board is taking a nap" message, but
>>> everything's hosed.  Even phpMyAdmin dumps back to Review Board, which
>>> makes it utterly useless as well.  Not helpful.
>>>
>>> Here's what I'm getting from Apache's error logs:
>>>
>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212] mod_wsgi
>>> (pid=2160): Exception occurred processing WSGI script 'E:/Program
>>> Files/BitNami DjangoStack/apps/reviewboard/htdocs/reviewboard.wsgi'.
>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212] Traceback (most
>>> recent call last):
>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]   File "E:\
>>> \Program Files\\BitNami DjangoStack\\apps\\django\\django\\core\
>>> \handlers\\wsgi.py", line 250, in __call__
>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]
>>> self.load_middleware()
>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]   File "E:\
>>> \Program Files\\BitNami DjangoStack\\apps\\django\\django\\core\
>>> \handlers\\base.py", line 39, in load_middleware
>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]     for
>>> middleware_path in settings.MIDDLEWARE_CLASSES:
>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]   File "E:\
>>> \Program Files\\BitNami DjangoStack\\apps\\django\\django\\utils\
>>> \functional.py", line 276, in __getattr__
>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]
>>> self._setup()
>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]   File "E:\
>>> \Program Files\\BitNami DjangoStack\\apps\\django\\django\\conf\
>>> \__init__.py", line 42, in _setup
>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]
>>> self._wrapped = Settings(settings_module)
>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]   File "E:\
>>> \Program Files\\BitNami DjangoStack\\apps\\django\\django\\conf\
>>> \__init__.py", line 89, in __init__
>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212]     raise
>>> ImportError("Could not import settings '%s' (Is it on sys.path?): %s"
>>> % (self.SETTINGS_MODULE, e))
>>> [Wed May 25 11:09:27 2011] [error] [client 10.0.0.212] ImportError:
>>> Could not import settings 'reviewboard.settings' (Is it on sys.path?):
>>> No module named reviewboard.settings
>>>
>>> Not sure where to go from there.
>>>
>>> Here's more info about my system for those of you who might know what
>>> I can do:
>>> - Windows XP
>>> - Python 2.7
>>> - BitNami DjangoStack 1.3-0
>>>
>>> And from my apache-wsgi.conf file:
>>> <VirtualHost *:80>
>>>        ServerName dev7.numedics.local
>>>        DocumentRoot "E:/Program Files/BitNami
>>> DjangoStack/apps/reviewboard/
>>> htdocs"
>>>
>>>        # Error handlers
>>>        ErrorDocument 500 /errordocs/500.html
>>>
>>>        WSGIPassAuthorization On
>>>        WSGIScriptAlias "/" "E:/Program Files/BitNami DjangoStack/apps/
>>> reviewboard/htdocs/reviewboard.wsgi"
>>>
>>>        <Directory "E:/Program Files/BitNami DjangoStack/apps/reviewboard/
>>> htdocs">
>>>                Allow from All
>>>                AllowOverride All
>>>        </Directory>
>>>
>>>        # Alias static media requests to filesystem
>>>        Alias /media "E:/Program Files/BitNami
>>> DjangoStack/apps/reviewboard/
>>> htdocs/media"
>>>        Alias /errordocs "E:/Program Files/BitNami DjangoStack/apps/
>>> reviewboard/htdocs/errordocs"
>>> </VirtualHost>
>>>
>>> Basically, I need to get this up and running on my system, preferably
>>> in parallel with phpMyAdmin so I can manage other databases as well.
>>> Other developers on my local network will be using this as well so we
>>> can collaborate on projects ... but right now we're at an impasse.
>>> It's either keep hitting my head against the wall, or go back to doing
>>> code reviews by watching over one another's shoulders.
>>>
>>> I typically don't ask mailing lists for help from out of the blue, but
>>> I've been trying to figure this out since Sunday, and 4 days
>>> struggling on my own is all I'm willing to invest.  Is this
>>> salvageable?  Or should I move on to something else?
>>>
>>> --
>>> Want to help the Review Board project? Donate today at
>>> http://www.reviewboard.org/donate/
>>> Happy user? Let us know at http://www.reviewboard.org/users/
>>> -~----------~----~----~----~------~----~------~--~---
>>> To unsubscribe from this group, send email to
>>> reviewboard+unsubscr...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/reviewboard?hl=en
>>
>>
>>  --
>> Want to help the Review Board project? Donate today at
>> http://www.reviewboard.org/donate/
>> Happy user? Let us know at http://www.reviewboard.org/users/
>> -~----------~----~----~----~------~----~------~--~---
>> To unsubscribe from this group, send email to
>> reviewboard+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/reviewboard?hl=en
>>
>
>  --
> Want to help the Review Board project? Donate today at
> http://www.reviewboard.org/donate/
> Happy user? Let us know at http://www.reviewboard.org/users/
> -~----------~----~----~----~------~----~------~--~---
> To unsubscribe from this group, send email to
> reviewboard+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/reviewboard?hl=en
>

-- 
Want to help the Review Board project? Donate today at 
http://www.reviewboard.org/donate/
Happy user? Let us know at http://www.reviewboard.org/users/
-~----------~----~----~----~------~----~------~--~---
To unsubscribe from this group, send email to 
reviewboard+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/reviewboard?hl=en

Reply via email to