zadorlab / KinBot

Automated reaction pathway search for gas-phase molecules
Other
45 stars 15 forks source link

Openbabel incompatible with Python 3.8.0 #56

Closed Nora-Khalil closed 1 year ago

Nora-Khalil commented 1 year ago

Hi everyone,

Just recently installed KinBot, and am trying to run the gvl_reactions example. I used the following to install pybel:

conda install -c openbabel openbabel

and am getting the following error message:

Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: / 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                                                                                              

UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:

Specifications:

  - openbabel -> python[version='2.7.*|3.4.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.5,<3.6.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.4,<3.5.0a0']

Your python: python[version='>=3.8.0']

If python is on the left-most side of the chain, that's the version you've asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.

The following specifications were found to be incompatible with your system:

  - feature:/linux-64::__glibc==2.17=0
  - feature:|@/linux-64::__glibc==2.17=0
  - openbabel -> libgcc-ng -> __glibc[version='>=2.17']

Your installed version is: 2.17

(kinbot) [khalil.nor@c0235 gvl_reactions]$ y
bash: y: command not found
(kinbot) [khalil.nor@c0235 gvl_reactions]$ kinbot gvl.json 
Warning: Pybel could not be imported.
Certain features or the whole code might not run properly.

Copyright 2018 National Technology & Engineering Solutions of Sandia,
LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, 
the U.S. Government retains certain rights in this software.

Pybel is required to use the smiles input format.
If pybel is unavailable, use the geometry as input.
Else install OpenBabel with python bindings.
Exiting...

I know that KinBot requires Python >=3.8, but what version of pybel should be installed that will be compatible with this version of python?

I am specifically trying to use PESViewer. Without pybel installed, I can still get a kinbot.log file when I run the gvl_reactions example, but would like to visualize the results with PESViewer.

Any help is greatly appreciated! Thank you!

cmartia commented 1 year ago

Hi Nora, Thanks for trying out KinBot. You are trying to install openbabel from a deprecated source. (see this issue). The preferred method to install openababel with the conda installer is via the conda-forge channel. I have just created a fresh conda environment and installed openbabel from the conda-forge channel, to check that everything was still working ok and I had no issues. The steps I followed were:

  1. conda create -n kinbot python=3.8
  2. conda activate kinbot
  3. pip install kinbot
  4. conda install -c conda-forge openbabel

Let me know if you have any issues.