Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Packaging Ruby or Python applications for distribution?

Are there any good options other than the JVM for packaging Python or Ruby applications for distribution to end-users? Specifically, I'm looking for ways to be able to write and test a web-based application written in either Ruby or Python, complete with a back-end database, that I can then wrap up in a convenient set of platform-independent packages (of some type) for deployment on Windows, Linux, OS X, and FreeBSD?

Edit: What I mean by a 'web-based application' is a webapp that end-users can run on servers at their companies, providing a web service internally to their end-users. There are a lot of ways to do this on the JVM via JPython or JRuby, but I'm curious if there's a non-JVM route with alternate VMs or interpreters.

like image 602
Don Werve Avatar asked Mar 01 '23 20:03

Don Werve


2 Answers

For Python, there's distutils, and Ars Technica had a pretty good article on packaging cross-platform PyQt applications a while back. This will get you set up so you can at least bundle things up into packages that can be deployed on multiple platforms, which is reasonable for free stuff.

I'm not sure this is really a better way to distribute things than using the JVM if you're trying to distribute proprietary code.

like image 72
Todd Gamblin Avatar answered Mar 06 '23 15:03

Todd Gamblin


I'm not sure I understand you here. You want to create a web-based application that you want to ship to end-users? I'm not sure how to interpret that:

  • You want to create an app with a custom GUI that uses a network connection to grab data and stores some information locally in a database?
  • You want to create a RoR/Django-type app that users can install on a webserver, and then access their own instance through the browser?

I can't speak to python, but you could use Shoes to create and package a custom GUI for Ruby (cross-platform). For packaging a webserver-based/browser-GUI app, I think the Ruby on Rails community has built some tools for that - possibly Capistrano - but then again, I don't do a lot of RoR development.

like image 21
rampion Avatar answered Mar 06 '23 16:03

rampion