Aeneas and Python version

I do Python 3 development, but Aeneas has always used Python 2. So whenever I synchronized audio, I always had to make sure that my environment variables were set to make Python 2 the default Python. Otherwise the sync failed, I would have to set environment variables, then continue. That sync failure happened just recently, when I was using SAB 7.0.2.

I just installed SAB 7.1, and ran an audio sync, and right after I started it, I realized that I probably had Python 3 set as my default and expected the sync to fail, but it didn’t! I checked, and sure enough Python 3 is the default, but if I Check aeneas installation… from the Tools menu, I get the coveted “All required dependencies are met and all available Python C extensions are working”.

Is this expected? I didn’t see anything in the release notes related to this. I believe I might have Aeneas installed in my Python 3 environment (because I think I installed it there before remembering that I needed to select the Python 2 environment instead during the Aeneas installation). I would be very happy if it works on Python 3, and I don’t have to keep switching back and forth, but want to make sure nothing bad is happening.

If you are on Linux, it is using Python 3 now. Since Python 2 is not available for Ubuntu 20.04 (Focal), we had to add python3-aeneas package which is built with its dependencies on Python 3 and published it on Ubuntu 18.04 (Bionic) and Ubuntu 20.04. I made scripture-app-builder dependent on python-aeneas|python3-aeneas so that upgrades from Bionic to Focal would work.

In the release notes, it is listed as:

  • Full support in Ubuntu 20.04 LTS (Focal)
    • Aeneas is now included.

I didn’t put in the details about Python 3.

Chris

So would this change allow Aeneas to work under Python 3 on Windows now? As I said, I ran it successfully in SAB 7.1 on Windows, and it worked OK and seemed to do the right thing. (Although maybe I should look more closely at the results if there is any question…)

I don’t maintain the Mac and Windows installers. This is done by @danielbair (Thank you!). Looking at https://github.com/sillsdev/aeneas-installer/releases, they were updated to Python 3 with v1.73.0 which is the latest version that is available on https://software.sil.org/scriptureappbuilder/download/.

Chris

I think that makes sense. I seem to recall the last time I installed Aeneas, I didn’t remember that SAB required Python 2, so I installed Aeneas (1.7.3.0), and it asked me which Python environment to install into and I chose Python 3. But when I tried to synchronize audio from SAB (verison 5 or 6 or something old), it failed, and I had to install Aeneas (1.7.3.0) again and tell it to install into Python 2. So on my computer, I think I had Aeneas installed in both Python environments. Just waiting for the moment when SAB could run Aeneas with Python 3, which seems to be here now!