Cross platform deployment and easy installation

EDIT

One option that I have considered but don't know enough is, for example, for windows write the script package in:

  • Find the Python installation, download it, and install if not.
  • Then install the bundled package using distutils to handle the dependencies.

It seems like it might be a relatively elegant and simple solution, but I'm not sure how to proceed - any ideas?

Original question

Briefly

Which approach would you recommend for the following scenario?

  • Linux development environment for creating technical applications
  • Deployment should now also be on Windows and Mac
  • Existing Python Code
  • wine will not install Windows Python version
  • Windows CDs not installed to create Windows / Mac virtual machines
  • Porting to java leads to high overhead due to the existing code base
  • Clients are not technical users, i.e. They don’t provide standard Python packages - in fact, they require installed standalone products.

Background

I write technical and scientific applications under Linux, but some of them need to be deployed on Windows / MacOs machines.

In the past I used Python a lot, but I find that for non-technical users who are not happy with installing python packages, creating a simple executable file (using, for example, py2exe ) is difficult, t get a version of Windows Python to install using wine .

Although java might seem like a good choice, whenever possible I wanted to avoid having to port my existing code with Python, especially since Python also allows you to write portable code.

I understand that I am trying to cover a lot of the basics here, so any suggestions regarding the most suitable solutions (even if they are not perfect) will be appreciated.

+4
source share
3 answers

I have a project that sounds vaguely similar to what you are trying to do, and I have seen some of the same problems since I usually develop Linux and a port for Windows. This Python + wxPython + NumPy + SciPy + matplotlib + sorts other packages, and what I found best is to use PyInstaller , PyInstaller does an excellent job of processing third-party Python packages and creates an EXE quite painlessly.

I think that if you use py2exe or PyInstaller, then more or less it needs to be done on Windows, since IIRC there are several Windows libraries that should appear for the trip. Maybe you can run an instance of Windows EC2? Depending on how complex your application is, you can instead get something to work with Portable Python or PyPy .

I tried loading Python and the necessary packages earlier for windows windows - it worked, but it was always fragile. If you can find an installer constructor that allows you to specify dependencies (for example, Advanced Installer is not free, but works well), I would try this first as it seems a little more reliable.

+5
source

py2exe works very well, I think you just need to install a windows window (or virtual machine) in order to be able to create packages with it.

+2
source

I would recommend using py2exe for the windows side and then a BuildApplet for the mac side. This will allow you to make a simple application that you double-click for less experienced users.

0
source

All Articles