top button
Flag Notify
Site Registration

Mac or Linux for Python Development?

+1 vote
637 views

I've been developing with python for a while on Ubuntu but will soon be transitioning to full-time python development. I have the option of using a Mac or Ubuntu environment and I'd like to hear any thoughts on the pros and cons of each. Specifically, how's the support for numpy and scipy? How are the IDEs?

Since I generally like working with a Mac, I'd like to hear if there are any significant downsides to python dev on OsX.

posted Feb 23, 2014 by Ahmed Patel

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button
I used to do core python development using debian linux (gnome). All way long work just fine. However recently I have had a chance to try MacOS X 10.8 and later 10.9. I used macports.org to setup everything I found “missing”.

Vim works fine regardless the platform… quite happy.

3 Answers

+1 vote

There have been some issues with running Python on OSX, so you'd want to make sure you're running the very latest; for instance, 3.3.4 fixed some issues with 10.9 Mavericks. Generally, I'd say you'll do reasonably well on either platform, as long as you're happy with the editor and related tools; but personally, I love my Linux for development. I use Debian (Ubuntu is closely related to Debian), with Xfce, SciTE, and roughly ten thousand terminal windows - that's my "IDE". SciTE is available for a Mac, and there are plenty of other excellent text editors as well, so you shouldn't have any trouble on that score.

Your text editor is probably more important to your productivity than your OS is. Whether you're on Windows, Mac OS, or Linux, or something more obscure like OS/2, you can run your scripts just fine (OS/2 isn't an officially supported Python platform, but I have a third-party build that works fine for me); the important part is getting code from your brain through your fingers into the computer, and a good editor can help hugely with that. You'll hear advocates for vi/vim, emacs, and myriad others, but ultimately, just grab one that looks good and get to know it :)

Personally, I'd recommend going Linux, for the openness; among other benefits, it's generally easier to build C stuff from source on Linux than on pretty much any other platform. But you should be able to use your preferred Mac just fine, and learning something new is a cost that's hard to justify.

Just do be sure (and yes, I'm reiterating this) that you're on the very latest Python you can get. At the moment, that's 3.3.4, but soon there'll be a 3.4 release.

answer Feb 23, 2014 by Amit Parthsarthi
+1 vote

I had problems trying to build my own scipy stack on Maverick, but installing Anaconda's Python distribution solved that.

Overall, Python works very well on OS X, but feels better integrated to me under Linux.

answer Feb 24, 2014 by anonymous
+1 vote

Check the following link

http://stackoverflow.com/questions/81584/what-ide-to-use-for-python

where there is a fairly extensive comparison chart of IDEs, features, and supported OSes.

answer Feb 24, 2014 by Sanketi Garg
Similar Questions
+4 votes

I have been trying to set up a python, django, mysql, virtualenvwrapper and git development project and am really confused. All of the documentation seems to ignore the apt-get installation methods used by Debian Linux and its derivatives. Does pip install the same as apt-get; I don't think so. If I use virtualenvwrapper, how does this fit with the normal debian (wheezy) installation. I also need git which just confuses the situation even more. Must I give up the automatic updating system that Debian provides when setting up the development environment?

The documentation centers on Windows, Mac and generic Linux distributions and ignores the automation of the Debian installation. All of the documentation I have found concentrates on the installation of individual packages or on the use of python-django and is very sketchy on the overall virtualenv(wrapper), git, python-django file structure and installation order.

+1 vote

I want to write my own Screenshot Taking program in Python for Mac OS X.

Example : Whenever Command + Shift + 3 is pressed ==> whatever is there on the screen, should be grabbed / captured, and should be stored on my local with my own desired path, and name should automatically given as SnapshotX.. as in Snapshot1, Snapshot2, etc...

The same goes with Command + Shift + 4 ==> the only difference is that, it allows you to select a particular area to be captured / grabbed.

Command + Shift + 5 ==> This one is a little bit tricky which I am looking for. This shortcut doesn't exist. I want to create one of my own, where it would grab the entire webpage's screenshot which I am currently working on, and store the name as the webpage's link.

0 votes

This is my first time using pyinstaller. My goal is to build an .app in Mac. The app is basically a GUI written in PySide, and I have about 7 different Python scripts + 1 .png file. The main file calls 4 of the files, and the 4 files will call the rest of the 2 files repeatedly. The .png file is nothing but the window logo. Could someone help me with some diagnosis? I do not know what went wrong. I searched a lot of documentations online, i.e., change spec, add import, ... etc. but my app still doesn't run.FYI, Pyinstaller could generate an app for me, but there are two issues:
1. Icon is not changed for the app.
2. App crashes when opened.

My Python version is 2.7.5 and I am using PyInstaller-2.0. Here is my code for packaging:

python pyinstaller.py --onefile --windowed --name=MyApplication -i ~/Documents/AASource/icon.ico ~/Documents/AASource/Scripts/main_file.pyHere is the spec file:

$ -*- mode: python -*- a = Analysis(['/Users/boxuancui/Documents/AASource/Scripts/main_file.py'], pathex=['/Users/boxuancui/Documents/pyinstaller-2.0'], hiddenimports=[], hookspath=None) pyz = PYZ(a.pure) exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, name=os.path.join('dist', 'MyApplication'), debug=False, strip=None, upx=True, console=False , icon='/Users/boxuancui/Documents/AASource/icon.ico') app = BUNDLE(exe, name=os.path.join('dist', 'MyApplication.app'))Here is part of the crash message:

Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x00000000000054d8

Thanks in advance! Any help will be appreciated!

+1 vote

Hello all,Im looking for speech to text conversation python library for linux and mac box, I found few libraries but non of them supports any of these platform.I found following libraries speech, dragonfly and pyspeech supports only windows and sphinx for linux.

...