Python distribution for Scientists on Linux - python

I would like to find out if there is a Pythonxy.com equivalent for Linux/Mac OS X yet?
any kind of pointers would be helpful?
Thanks and best regards,
Vishal Sapre

Pythonxy exists for linux : http://pythonxy-linux.googlecode.com

For linux, you don't need something like PythonXY, because it's already very easy to install packages with your package manager. Things are actually a lot better integrated under linux than under windows.
What you need to do is pick a good linux distribution, and install the packages you like with the package manager (apt, dnf, pacman...)

There's always Sage.

The FOSSEE project is specifically targetted at FOSS for scientists and engineers. Their offerings are mostly Python based and might contain the tools you need.

You could take a look at the Enthought Python Distribution. It "provides scientists with a comprehensive set of tools to perform rigorous data analysis and visualization." EPD is available for Windows, Mac OS, RedHat, Ubuntu, Suse and Solaris. It is not free, though (and I am in no way affiliated to them).

Related

package a software for Windows with wine

I use Esky/cx_freeze to package a python program for different OS. When I have to do it for windows, I use Windows 7 on VirtualBox.
However, I find this method pretty unpleasant and heavy. So I wonder, is there a way to package programs for Windows through Wine ?
I would basically need to install all the libraries I need, then run some commands like "python setup.py bdist_esky".
I know the cx_freeze doc doesn't advice this, but I'm trying to find a better way to package my software. I wonder if someone has a better option.

Which Enthought EPD distribution should I use?

I'm currently an undergrad Electrical Engineering student. I've been using MATLab for a while, but have grown weary of its syntax and subtleties. I've been trying to find an alternative, and after much searching have found Enthought. Since I'm a student, I can install the academic version of EPD; but, looking at the modules it contains, I'm wondering if I'd really need everything I'd get with that distribution. My question is, would EPDFree suffice for undergraduate study? Or am I better off with the academic version? In either case, should I install the libraries in the distribution separately (i.e. without installing EPD) if I can? Or, should I just go with EPD distribution? I primarily use the Ubuntu Linux distribution if that helps. Thanks to all in advance!
The ultimate answer mainly depends on your specific needs. EPD is really neat and it contains a lot of packages. I doubt that you'll use all of them. During your studies you will most probably use Numpy, Scipy, Matplotlib and ipython for matrix manipulations, solving linear systems, visualisation etc. Installing these packages separately on Ubuntu (with aptitude for example) is as effortless as installing EPD.
I would say that start by installing these packages separately from the Ubuntu repository, try them out, learn more about them, try to get comfortable in the environment. As your studies evolve you'll see what tools you lack, you need more and you can reconsider using EPD.
Enthought now provides the full EPD (not just the free EPD) to all academics. All you need is an EDU mail address. You can sign up at http://www.enthought.com/products/edudownload.php and you will receive a username/password that allows you to install and upgrade packages easily, just like a paid subscriber.

Which Python to use on Windows for Numpy and friends?

For research related Python programs, I require Python 2.6 (or 2.7), numpy, scipy and matplotlib. Occasionally, I'm going to use other modules such as mayavi2 or numexpr.
The programs in questions will be exchanged between (Ubuntu) Linux and Windows and can be modified to work across platforms. The setup on the Windows side should resemble the Linux one as closely as possible. Integration with COM, .NET, or the Windows OS is not required.
I'm aware of the following options:
Python for Windows from python.org
ActivePython
Python(x,y), a bundle of Python with modules and GUIs
Enthought Python distribution, a bundle of Python with modules
Which of those will provide me most efficiently with a setup that just works? And how would they differ?
EDIT 2017-11-4: At this point in time Anaconda seems by far to be the best option. It is multi-platform, doesn't require admin/root permission, and it allows you to install multiple python versions in parallel.
Original post
The easiest way to install all the python libraries necessary for scientific computing is to install either Python(x,y) or Enthought Python Distribution (EPD). Both offer a fairly similar set of packages (including numexpr and mayavi2), so it's probably just a matter of personal preference. I prefer Python(x,y) because it is fully open source, whereas EPD is a commercial product with a free edition. You can compare the included packages for EPD and Python(x,y).
Both these options are much better than using the standard python (or ActiveState) then manually installing all the required scientific packages. Both should work well with code transported from Linux. It's worth mentioning that EPD also has a Linux version, so if you need all packages and versions to be absolutely identical between Windows and Linux setups, this might be the way to go.
Edit:The win32-superpack is a good option if you just want a few basic scientific packages, but if you want more complex things like mayavi, you'd need to install them yourself.
Edit 2013-05-03:
There are now a couple of other options which are also worth considering: winpython and anaconda
The question is old, but the answer nowadays to this question will always be Anaconda, so I thought I provide you a link to it.
Not only for scientfic purposes - it has all the libraries and tools for this, installed - but its also the best python distribution in general:
https://www.anaconda.com/download/
I have used the win32-superpack from the official SciPy distribution. It includes Python, NumPy, SciPy, matplotlib, etc. and everything works out of the box.
Maybe I should also comment on the packages on your list:
The standard Python distribution from Python.org does not include SciPy, as far as I know.
The Enthought distribution is installed on some of the computer clusters that I am using. It is linked against the Intel MKL and could be faster for linear algebra than the SciPy one. But it is a commercial package. Python programs developed with the SciPy distribution should, however, run without problems under Enthought, too.
I don't know anything about the other two distributions.

Questions about Django development on Mac OS X

I'm new to Mac (as of yesterday), and I have Snow Leopard. I've just easy_install virtualenv, and it doesn't work. I read a couple other SO questions about the same exception I had, and it seems that I need XCode installed. Before I go down a rabbit hole, installing a 3.5Gb Apple-specific code library for something Python related, and who knows what else at this point, I figured I'd stop by here and find out what's typical for Django developers with Macs.
What tools / libraries that are Python/Django specific, but non-project specific do you commonly use?
Is XCode really necessary to use virtualenv (and potentially other things, or is this just one way to solve my issue?
Are there other Mac issues that you've run into with basic Django development?
Do you have any other tips for a veteran Django dev who is an absolute Mac noob?
You will need XCode, yes. You'll need it for any libraries that need compiling, apart from anything else.
Please don't install MacPorts, though, as recommended by titaniumdecoy. It tries to install its own versions of everything, which is unnecessarily confusing, and takes you out of the usual Mac development stack. A much better package installation tool is homebrew, which uses the built-in tools to install software via a series of recipes. It's excellent.
I started use Mac a couple days ago and I have same problem. You need XCode, yes!
Packgers manager, like apt-get, you can try HomeBrew.
To develop in django, I use TextMate, with some bundles to django.
To develop in python I use pip, virtualenv and virtualenvwrapper, this is awesome.
As an iOS developer I can't comment on the specifics of Django development, but the following should help get you started.
Install macports immediately. You can install virtually any unix tool you can think of with a single command, including virtualenv. (Update: Use HomeBrew instead as suggested in other answers: see comments for why.)
You need to install Xcode to get the Mac OS X developer toolchain (gcc, etc.) unless you prefer to install everything yourself.
If you use Eclipse, the Pydev plug-in is one way to go. TextMate is probably the most popular text editor on the mac. The Python Wiki has a comprehensive rundown of your options.

Recommendations for Python development on a Mac?

I bought a low-end MacBook about a month ago and am finally getting around to configuring it for Python. I've done most of my Python work in Windows up until now, and am finding the choices for OS X a little daunting. It looks like there are at least five options to use for Python development:
"Stock" Apple Python
MacPython
Fink
MacPorts
roll-your-own-from-source
I'm still primarily developing for 2.5, so the stock Python is fine from a functionality standpoint. What I want to know is: why should I choose one over the other?
Update:
To clarify, I am looking for a discussion of the various options, not links to the documentation. I've marked this as a Community Wiki question, as I don't feel there is a "correct" answer. Thanks to everyone who has already commented for their insight.
One advantage I see in using the "stock" Python that's included with Mac OS X is that it makes deployment to other Macs a piece of cake. I don't know what your deployment scenario is, but for me this is important. My code has to run on any number of Macs at work, and I try to minimize the amount of work it takes to run my code on all of those systems.
I would highly recommend using MacPorts with Porticus for managing your Python installation. It takes a while to build everything, but the advantage is that whatever you build yourself will be built against the same libraries, so you won't have to futz around with statically linked shared objects, etc. if you want your Python stuff to work with Apache, PostgreSQL, etc.
If you choose to go this way, remember to install the python_select port and use it to make your system use the Python installed from MacPorts.
As an added bonus, MacPorts has packages for most main-stream Python eggs, so if you should be able to have MacPorts keep you up-to-date with the latest versions of all that stuff :)
Here's some helpful info to get you started. http://www.python.org/download/mac/
Depends what you are using python for. If you are using MacOS funitionality and things like PyObjC you are probably best of with MacPython or the python provided by Apple.
I use Python on my Mac mostly for development of server side applications which later will run on FreeBSD & Linux boxes. For that I have used fink python for a few years and ever since MacPorts python. With mac ports it is simple to add required c modules (like database driver etc). It's also easy to keep two python Versions (2.5 & 2.6 in my case) around.
I used "compile your own" python to test pre-3.0 python but generally I find managing dependencies to c modules painfull if done by hand.
Thanks to easy_install installing pure python modules is fast and easy for all the options mentioned above.
I was never very much an IDE person. For development I use command line subversion installed by MacPorts, Textmate and occasionaly Expandrive do directly access files on servers. I personally are very dependent on Bicyclerepairman for Textmade to handle my refactoring needs.
Others seem to be very happy with Eclipse & Pydev.
How about EPD from Enthought? Yes, it's large but it is a framework build and includes things like wxPython, vtk, numpy, scipy, and ipython built-in.
I recommend using Python Virtual environments, especially if you use a Timecapsule because Timecapsule will back everything up, except modules you added to Python!
Based on the number of bugs and omissions people have been encountering in Leopard python (just here on SO!), I couldn't recommend that version. e.g., see:
Why do I get wrong results for hmac in Python but not Perl?
Problems on select module on Python 2.5
I would choose MacPorts.
It does not eliminate your existing python supplied by Apple since it installs by default in /opt/local/bin (plays nice with it) and plus it is easy to download and install additional python modules (even binary modules that you need to compile!). I use Porticus GUI to maintain my MacPorts installed list of packages, including python.
In my windows environment I use Eclipse and PyDev, which works quite well together, even if it's a bit sparse. Apparently the exact same environment is available for the Mac as well, so I suggest downloading Eclipse and using the internal update software function to update PyDev with the URL http://pydev.sourceforge.net/updates/. To look further into PyDev, look here.
Apple's supplied python is quite old – my tiger install has 2.3.5. This may not be a problem for you, but you would be missing out on a lot. Also, there is a risk that Apple will update it. I'm not sure if moving from 2.3.5 to (say) 2.4 would cause code to break, but I guess it's possible. This happened to perl people recently: http://developers.slashdot.org/article.pl?sid=09/02/18/1435227
Macpython is a framework build (as is Apple's, I believe). To be honest, I'm not sure exactly what that means, but it's a prerequisite for some modules, in particular wxPython. If you get python from macports or fink, you will not be able to run wxPython (unless you run it through X11).
And guess what was forgotten by every answer here ... ActivePython.
No compilation required, even for third-party modules such as numpy, lxml, pyqt and thousands of others.
I recommend python (any python?) plus the ipython shell. My most recent experience with MacPython was MacPython 2.5, and I found IDLE frustrating to use as an editor. It's not very featureful, and its' very slow to scroll large quantities of output.

Categories

Resources