Build Tool For Mac Os In Python

Posted on  by 

  1. Build Tools For Mac Os In Python
  2. Itool For Mac
  3. Wireless Discovery Tool For Mac Os X
  4. Build Tool For Mac Os In Python 3

The “Build Applet” tool that is placed in the MacPython 2.5 folder is fine for packaging small Python scripts on your own machine to run as a standard Mac application. This tool, however, is not robust enough to distribute Python applications to other users. The standard tool for deploying standalone Python applications on the Mac is py2app. Microsoft Visual C++ Build-Tools 2015; Microsoft Build-Tools for Visual Studio 2017. After installing the C++ build-tool you can build the bootloader as shown above. Installing OpenCV 3 With Python On Mac OS X Posted on October 9, 2015 by Prateek Joshi OpenCV is the world’s most popular computer vision library and it’s used extensively by researchers and developers around the world.

Active7 months ago

I want to create a GUI application which should work on Windows and Mac. For this I've chosen Python.

The problem is on Mac OS X.

There are 2 tools to generate an '.app' for Mac: py2app and pyinstaller.

  1. py2app is pretty good, but it adds the source code in the package. Idon't want to share the code with the final users.
  2. Pyinstaller generates UNIX executable, so how to run it on Mac? Icreated a bundles with this executable, but the resulted '.app' isnot working.

The questions are:

  1. How to configure py2app to include the source code in theexecutable, so the final users will not have access to my program?
  2. How to convert UNIX executable to Mac '.app' ?
  3. Is there a way to compile Python code with GCC ?
  4. In Windows it's easy, I created an 'exe' file from Python code andit works. Is it possible to create a single file 'app' for Mac ?

P.S. I use two computers (Windows and for Mac), Python 2.7, wxPython, py2exe, py2app and pyinstaller.

Also, I have checked out these sites:

Chris
32.2k13 gold badges106 silver badges134 bronze badges
Cristian CiocăuCristian CiocăuChrome cleanup tool for mac os
6892 gold badges8 silver badges12 bronze badges

11 Answers

How to configure py2app to include the source code in the executable, so the final users will not have access to my program?

Unless you very seriously hack the python interpreter (and include the mangled version) there is no really good way to hide the source from a moderately skilled and determined user. I strongly believe this is true on Windows also. Basically, whether you include true source or bytecode, a pretty clean version of the source can be recovered. More importantly, in my opinion, unless you include the actual source code (as opposed to bytecode, you will introduce a possible dependency on the interpreter version).

How to convert UNIX executable to Mac '.app' ?

What do you mean by a UNIX executable? A Darwin (OS X) binary [which isn't actually UNIX]? That can be done using the kinds of tools you already mentioned, but it must be done carefully to avoid library dependencies.

If all you want it a simple wrapper to put a command-line binary into a window, it's pretty easy to accomplish and the free XCode suite has several examples that would serve (depending on what outputyou wan to deliver, if any).

Is there a way to compile Python code with GCC ?

GCC does not compile Python. It's a different language (although there tools in the gcc family rthat support multiple language front-ends, but not Python). There are tools that attempt to translate Python into C, and then you can compile that into a true binary, but this only works for programs that avoid certain types of construct, and the process (and restrictions) need to apply your libraries as well.
One project to allow this is Cython. It works well for some typesof code, mostly numerical code, but it is not trivial to install andexploit, very especially if you want to produce something that runs on multiple different computers.

In Windows it's easy, I created an 'exe' file from Python code and it works. Is it possible to create a single file 'app' for Mac ?

I would have to say I am skeptical -- very skeptical -- about this. Just like the OS X case, the exe almost certainly has the source code trivially accessible within it.

One fairly easy trick is to encrypt the source code and then decrypt it on the fly, but thisseems to me like more trouble than it's worth.

GregDGregD

PyInstaller will automatically create bundles under Mac OSX for windowed executables. When running ypinstaller.py, make sure to pass the option '--windowed'.

This feature is documented in the website of pyinstaller

Dicky TsangDicky Tsang
2,6603 gold badges14 silver badges18 bronze badges

If you're not completely committed to wxPython (and for anyone else looking for a cross platform Python GUI framework), I recommend you check out Kivy. It's cross platform, GPU accelerated, and it will do the app packaging for you. It's easy to jump into, has a well thought-out architecture, and gives you an incredible amount of flexibility in terms of the interface. It's the best way I've found to make a cross platform Python GUI app.

Rafa
6,5743 gold badges29 silver badges54 bronze badges
Jonathan PotterJonathan Potter

cxFreeze was the choice.I use it pack my python program to a Mac OS X app. Which works like a charm.

handsomeguihandsomegui

Automator was already mentioned as a quick and simple solution for Pythons scripts that are contained in a single file, but since the Automator UI has so many options, and it is not obvious how to actually do it, I'll provide step-by-step instructions (verified to work on Yosemite):

  1. In Automator select File >New and pick Application as document type.
  2. Next, make sure Actions tab is selected on the left, and then in the search box type run. Among other options you'll see Run Shell Script — doubleclick it, and an editor window will appear in the right panel.
  3. From the Shell dropdown menu select /usr/bin/python.
  4. Paste your Python code into the edit window and then pick File >Save.

By default, the app will be saved under $HOME/Applications and will appear in Spotlight.

If you want to be able to set your own icon and have some fancy features, like task bar icons with a menu, log windows etc, then have a look at Platypus — an open-source app for creating MacOS native bundles.

Mac os python pathccpizzaccpizza
13.9k8 gold badges92 silver badges95 bronze badges

2: You can't 'convert' it, but you can move the executable to App.app/Contents/MacOS/something in a .app file, with CFBundleExecutable set to 'something'. This would not generally be recommended.

tkbxtkbx
5,35324 gold badges65 silver badges107 bronze badges

A motivated person could probably reconstruct usable source code from the Python bytecode in your app, so you might reconsider your opposition to py2app. If you don't trust your final users, why are you doing business with them?

Build Tools For Mac Os In Python

Russell BorogoveRussell Borogove
14.5k1 gold badge35 silver badges41 bronze badges

The only way is py2app. You have no other way. Sorry.The research you did seems very solid and you did not miss anything.

transilvladtransilvlad
8,10110 gold badges35 silver badges74 bronze badges

Itool For Mac

Having used py2exe for windows users so they wouldn't have to deal with library versions, I've torn apart the compiled programs, they include the python bytecode files. While you can make it a violation of the license to look inside those, the fact is that if a computer can execute them, I can read them. It is possible to compile python programs with gcc, via a C preprocessor (try looking for 2c.py on google), I don't know if any of them support GCC. Again, you don't gain any security through using them, but you can get a significant speed improvement.

PerkinsPerkins

I haven't tried it with big Python projects, but for my own scripts, the easiest way I found was to use Automator

Mac

You can interactively create an app project with Run Shell Script action, then paste in your script in its editor, select your shell program (/usr/bin/python), finally save the project. And you have yourself a Mac native app.

Automator can also be driven by AppleScript. So you can pipeline this py-2-app conversion process to your build scripts.

I've never tested a GUI program with it so I don't know if you'll be happy with it. But I'd give it a try since you may wonder how well all the cited 3rd-party python modules/applications are maintained, and how long they are gonna last. Coming bundled with OS X, Automator will likely stay, unless Apple got REALLY tired of it.

kakyokakyo
2,8644 gold badges36 silver badges67 bronze badges

cxFreeze is best solution available, first create your program or application using python and than make setup file for your application, and than build the app using build command python setup.py build, according to your requirement you need to make some changes.

NilanjNilanj

Wireless Discovery Tool For Mac Os X

protected by CommunityJan 3 at 3:43

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?

Build Tool For Mac Os In Python 3

Not the answer you're looking for? Browse other questions tagged pythonwxpythonmacospy2app or ask your own question.

Coments are closed