0

I'm trying to set up a good development environment for a Django project that I will be working on from two different physical locations. I have two Mac machines, one at home and one at work that I do most of my development on. I currently host a Ubuntu virtual machine on one of the machines to host the Django environemnt, install DropBox on it, and edit source code from my Mac. When I save the code file, the changes get synced over DropBox to the Ubuntu VM and the Django development server automatically restarts because of the change. This method has worked well in the past, but I am starting to use DropBox for a lot of other things now and don't want all of that to be downloaded on every virtual machine I use. Plus, I want to start using Eclipse + PyDev to be able to debug code and have code completion. Currently, I use TextEdit which is great, but doesn't support debugging or completion.

So what are my options? I thought about setting up a Parallels VM on a thumb drive that has my entire environment on it (Eclipse included), but that has its own problems. Any other thoughts?

Ross Peoples
  • 903
  • 2
  • 13
  • 20
  • Do you have any specific reason for not wanting to run Django on OS X itself? I admit that it's a bit of a hassle to get it working, but definately worht the trouble in comparison to using parallels. – Wolph Apr 20 '10 at 22:49
  • You mean, install the full development environment on both Mac machines and still use DropBox to keep the code synched between the two Macs? I thought that maybe there would be some machine-specific problem if I did it that way. If there's not, and I can seamlessly work between the two locations, then it might be worth the hassle. – Ross Peoples Apr 20 '10 at 23:01
  • Personally I prefer to have a full Django install working on all my machines, it might be a bit of a hassle but since not all of my machines are identical (different python versions and such) it gives me the possibility to check my code in other environments too. Regardless, I would either use a different method for syncing the files, create a separate dropbox for this or omit the syncing completely by running the environment locally (which should be faster too). You might want to consider using Bazaar for syncing and version control at the same time :) – Wolph Apr 20 '10 at 23:13
  • 5
    Err, your solution seems somewhat more complex than it needs to be. Simply use Git (or another version control solution), get an account on Github (or similar) and then just push and pull your changes. Just fetch before you start and push when you finish. Job done. Dropbox is a terrible solution. – Cromulent Apr 20 '10 at 23:14

1 Answers1

0

Here is the environment I set up and it has the components you are after. I have used pydev as well and it works but I prefer Komodo.

Things which I think you are missing:

  • An SCM - Using Dropbox works but there are some real shortcomings by not using a real version control system. Examples include reverting changes, branching, merging, etc. I agree with Simon
  • Using a virtualenv will really help when developing on multiple platforms.
  • I do ALL of this on my Mac:)

HTH

Community
  • 1
  • 1
rh0dium
  • 6,811
  • 4
  • 46
  • 79