4 ms·
Pinax is a monstrous pain in the ass to install and use for the following reasons: 1) Bad documentation. 2) Bad installer (installer??? Django apps should be i
by californiaguy 17y ago
Pinax is a monstrous pain in the ass to install and use for the following reasons:
1) Bad documentation.
2) Bad installer (installer??? Django apps should be installed with cp and tar.)
3) They attempt to bundle everything with their cheeseball installation package yet I still spent 3 hours compiling external dependencies (not just PIL) which was a major pain in the ass.
4) Not compatible with Python 2.4, the default on a huge number of servers and this is not stated anywhere in the docs.
I haven't deployed the code to a production web server with mod python or WSGI but I'm betting it's going to be a major pain in the ass, too.
The Django apps that I've written from scratch, every single one of them, could be tarred and dropped into a working Django 1.0/WSGI environment with zero effort other than setting up the base environment - I know because I've done it many times. In my opinion they should really rethink this concept of an "installer". It's a red herring for productivity and doesn't even do what it says it does because there are external dependencies to compile and a bunch of undocumented details to sweat over.
- rufugee 17y agoWow...this it the first criticism of Django-related anything I've read on HN. Bravo! I welcome more honest critiques.
- forkqueue 17y agoDependencies are the exact reason a plain tarball isn't good enough. They're why package management was invented. For http://kutoken.com/ http://kutoken.com/, our Django hosting service, we've spent quite a while packaging Django apps into .deb format, so our users can for example just 'apt-get install python-django-tagging' to have tagging support in their app (for a really simple example). Now I've got used to working with a system like that, I really couldn't go back to individual tarballs and setup.py and the like.
- californiaguy 17y ago> Dependencies are the exact reason a plain tarball isn't good enough If your web app needs complicated deps, it sucks. Which is kind of my point about Pinax. It's fucking embarrassing that you can simply untar some very complicated PHP applications and they work fine right out of the box on insanely varied versions of php/httpd/db software and with something like Pinax you need to spend 3 hours chasing down bugs and asking people on IRC what the hell is going wrong. Django was designed to make things easy, not hard.
- forkqueue 17y agoI couldn't disagree more with the idea that it's embarrassing that PHP apps tend to run with just a simple untar and Django projects don't. For me, this highlights some of the weaknesses of PHP - that there is a lack of pre-built libraries out there, and the difficulties in reusing code. When I first started using PHP god knows how long ago (IIRC PHP 4 was still in beta), one of the things that shocked me was that there was no equivalent to Perl's CPAN. Things are better now, but not that much, and beyond DB libraries there is still far too much reinvention of the wheel in PHP. Django is very much in the Unix philosophy of code re-use, and anytime you re-use code there are going to be dependencies. Added to this, many apps are going to use Python, non Django-related libraries, creating more dependencies. Any good Django app that's doing anything moderately complex should have a pretty long list of INSTALLED_APPS. Many rails apps work with a simple untar because they include their libraries in vendor. I'm not a ruby guy, but Luke Kanies (creator of puppet) is, and wrote a great post on why this is stupid - see http://www.madstop.com/ruby/ruby_has_a_distribution_problem.html http://www.madstop.com/ruby/ruby_has_a_distribution_problem.... Basically what I'm saying is don't fear dependencies, embrace them.
- FooBarWidget 17y ago> Many rails apps work with a simple untar because they include their libraries in vendor. I'm not a ruby guy, but Luke Kanies (creator of puppet) is, and wrote a great post on why this is stupid Is it? Rails apps have to work on more platforms than just Debian. You can embrace apt-get and make Debian users happy but you'll piss off everybody else. I wouldn't call the decision to vendor stuff "stupid", but "necessary". I've noticed that most users actually prefer that an app bundles its dependencies because it reduces installation hassle. Some users literally begged me to vendor a certain library because installing it themselves is too much of a pain. Only a select group of vocal Debian users care about enforcing everything through apt.
- californiaguy 17y agoIn my experience Debian users are generally dorks who have very little concern for how things are done in the real world.