Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 239625
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T20:36:02+00:00 2026-05-11T20:36:02+00:00

I have a Django application that I would like to deploy to the desktop.

  • 0

I have a Django application that I would like to deploy to the desktop. I have read a little on this and see that one way is to use freeze. I have used this with varying success in the past for Python applications, but am not convinced it is the best approach for a Django application.

My questions are: what are some successful methods you have used for deploying Django applications? Is there a de facto standard method? Have you hit any dead ends? I need a cross platform solution.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-11T20:36:02+00:00Added an answer on May 11, 2026 at 8:36 pm

    I did this a couple years ago for a Django app running as a local daemon. It was launched by Twisted and wrapped by py2app for Mac and py2exe for Windows. There was both a browser as well as an Air front-end hitting it. It worked pretty well for the most part but I didn’t get to deploy it out in the wild because the larger project got postponed. It’s been a while and I’m a bit rusty on the details, but here are a few tips:

    • IIRC, the most problematic thing was Python loading C extensions. I had an Intel assembler module written with C “asm” commands that I needed to load to get low-level system data. That took a while to get working across both platforms. If you can, try to avoid C extensions.

    • You’ll definitely need an installer. Most likely the app will end up running in the background, so you’ll need to mark it as a Windows service, Unix daemon, or Mac launchd application.

    • In your installer you’ll want to provide a way to locate a free local TCP port. You may have to write a little stub routine that the installer runs or use the installer’s built-in scripting facility to find a port that hasn’t been taken and save it to a config file. You then load the config file inside your settings.py and whatever front-end you’re going to deploy. That’s the shared port. Or you could just pick a random number and hope no other service on the desktop steps on your toes 🙂

    • If your front-end and back-end are separate apps then you’ll need to design an API for them to talk to each other. Make sure you provide a flag to return the data in both raw and human-readable form. It really helps in debugging.

    • If you want Django to be able to send notifications to the user, you’ll want to integrate with something like Growl or get Python for Windows extensions so you can bring up toaster pop-up notifications.

    • You’ll probably want to stick with SQLite for database in which case you’ll want to make sure you use semaphores to tackle multiple requests vying for the database (or any other shared resource). If your app is accessed via a browser users can have multiple windows open and hit the app at the same time. If using a custom front-end (native, Air, etc…) then you can control how many instances are running at a given time so it won’t be as much of an issue.

    • You’ll also want some sort of access to local system logging facilities since the app will be running in the background and make sure you trap all your exceptions and route it into the syslog. A big hassle was debugging Windows service startup issues. It would have been impossible without system logging.

    • Be careful about hardcoded paths if you want to stay cross-platform. You may have to rely on the installer to write a config file entry with the actual installation path which you’ll have to load up at startup.

    • Test actual deployment especially across a variety of firewalls. Some of the desktop firewalls get pretty aggressive about blocking access to network services that accept incoming requests.

    That’s all I can think of. Hope it helps.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have set up a Django application that uses images. I think I have
Do the major web application frameworks (Rails, Django, etc) have libraries that provide functionality
I have written a Django app that makes use of Python threading to create
I'm working on a blog application in Django. Naturally, I have models set up
I have worked a bit with Django and I quite like its project/applications model
I have a script that appends some rows to a table. One of the
Does Django have any template tags to generate common HTML markup? For example, I
I have a Django model with a large number of fields and 20000+ table
If I have a Django form such as: class ContactForm(forms.Form): subject = forms.CharField(max_length=100) message
I have the following Django and Flex code: Django class Author(models.Model): name = models.CharField(max_length=30)

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.