Dave Royal - 2 days ago

Recent questions on Facebook and abcusers about moving from Windows 10 to Linux prompt me to post this here, as this site is generally accessible.

Development of EasyABC is done on Github. I created an 'issue' on github to help to help new Linux users install EasyABC. Please read the inital post there:
https://github.com/jwdj/EasyABC/issues/126#issue-2887633971

Github is a site for delevopers and too technical for most users. So here's what you need to know as a Windows user moving to Linux and wanting to run EasyABC.

There are two ways of running EasyABC on Linux(1). The normal way is to download the sources - i.e. the Python code in which it's written - and run a command in a terminal like:

python_abc.py

Get the sources from here on Sourceforge - currently v1.3.8.7 (9/24) - or copy the latest version from github which includes some later fixes and enhancements(2). Once you get it working you can create a launcher on the desktop to run the python command.

To run EasyABC in that way you must also install several other packages, including wxpython, which handles the graphics, fluidsynth, pyparsing, and several others. Also the separate programs that EasyABC uses, e.g. abcm2ps, abc2midi. The main purpose of github issue 126 is to document how to install those packages on various recent Linux distributions.

The other way to install EasyABC is if someone creates a package containing EasyABC and all its dependencies. Such packages usually only install and run on one or a limited number of flavours of Linux.

Bodo (bomm on github) has created an EasyABC package for Debian Linux - a .deb file. Ubuntu and Mint, being derived from Debian, will install deb packages. Both are good choices for a new Linux users.

Bodo/bomm posts about the Debian package in the same github issue 126. Get the latest package from here:
https://github.com/bomm/EasyABC/releases/

The main obstacle to running a complicated Python program like EasyABC is that different flavours of Linux (Debian, Mint) and different versions of them (Debian 12, 13) will have different versions of Python (3.11, 3.13) and may have different versions of the dependencies, particularly wxpython. Recent changes to EasyABC allow it to run on later versions of Python and wxpython. This is why upgrading to a new version of Linux can stop EasyABC working.

(Windows doesn't include Python and few Windows users use it The Windows EasyABC installer includes an (old) version of Python. Nearly all Linux installations do include Python. Running an old version for EasyABC can be done but needs expertise.)

Questions?

(1) There is a third way, which is to run the Windows version under an emulator such as Wine. I've no idea if that will work - I can't think of an obvious reason why it won't. But it may not be easier than installing and running it natively.

(2) Changes made to the github sources since 1.3.8.7 are listed here as 1.3.8.X:
https://github.com/jwdj/EasyABC/blob/master/CHANGES