Hi, any ideas on how I can get the Python extensions working? I can’t get very far with writing one until I can test it…
Essentially, on all versions of the program I try, a script added manually to ~/.local/share/OpenChemistry/Avogadro/commands/<script_name>/<script.py> along with a plugin.json fails to load and doesn’t change anything in the program, even when the script is one of yours. Meanwhile, other Python-related functionality is very variable in what works and what doesn’t.
With the nightly AppImage I observe:
47 extensions reported found
Input menu is fully populated and menu items open dialog windows seemingly correctly
Download plugins window is empty other than the frames, table headings, and Download selected button
Any extension scripts that are found are not loaded, with lines such as "Cannot load script /tmp/.mount_AvogadNf9qIX/usr/lib/avogadro2/scripts/energy/mmff94.py" printed to the terminal
This includes scripts manually downloaded and placed in ~/.local/share/OpenChemistry/Avogadro/commands/avogadro-scikit-nano, such as avogadro-scikit-nano that would ordinarily be in Download plugins
As a result of the above, Extensions | Calculate | Configure... only offers LJ as an option
I also get – and I only see this with the AppImage – this error:
While the AppImage is convenient, it’s clear that some aspects either run in some sort of sandbox or are otherwise different than a regular Linux environment. Since I don’t have a Linux machine handy, it’s a bit hard to debug.
In particular, I think you need to add some permission to get network access (eg. the download plugin feature)
Any extension scripts that are found are not loaded, with lines such as "Cannot load script /tmp/.mount_AvogadNf9qIX/usr/lib/avogadro2/scripts/energy/mmff94.py"printed to the terminal
I think the question is whether the AppImage has access to a Python with openbabel installed (probably not).
This includes scripts manually downloaded and placed in ~/.local/share/OpenChemistry/Avogadro/commands/
Similarly, if the AppImage can’t access a Python environment with scikit-nano, it’s not going to work.
I’m going to skip Qt6 – I think not all of the features have been ported to Qt6 because of changes to some of the classes (e.g., regular expressions). That clearly includes many of the Python features.
This is where I’d start. What do you mean by “lots of failed to load” … are these scripts that you have installed the relevant Python package? Have you set the Python path for this build?
Based on your output, it seems like:
you haven’t installed scikit-nano so that doesn’t load
you haven’t installed xtb-python so GFN-FF, etc. don’t load
you haven’t installed requirements for nanocar (which includes ase among other things)
you don’t have antechamber in your path, so that charge script doesn’t load
I’d have to see how you’re handling avo_xtb/test.py. Generally, Avogadro is just running:
python avo_xtb/test.py --display-name # make sure the script works
OK with regards to this it seems like it’s a known issue and the problem was that the AppImage was built against OpenSSL 1.1, while I only had 3.1 installed. This results in QSsl not working, as OpenSSL is not bundled with AppImages, see here. I opened this GitHub issue with more details.
After installing OpenSSL 1.1 from the OpenSUSE repos the plugin installer works perfectly in the AppImage.