Quantum-Dynamics-Hub / libra-code

https://quantum-dynamics-hub.github.io/libra/index.html
GNU General Public License v3.0
51 stars 47 forks source link

AttributeError: module 'libra_py' has no attribute 'Gaussian_methods' #203

Open PaulYin28 opened 10 months ago

PaulYin28 commented 10 months ago

Hi, I have successfully compiled libra-code (v5.5.0) with anaconda in following steps:

conda remove --name libra --all  
conda create -n libra python=3.7
conda activate libra
conda install -y -c conda-forge numpy scipy matplotlib imageio jupyter_core
conda install -y ipykernel
conda install -y -c rmg py3dmol
#Next, all what we actually need:
conda install -y conda-build make
conda install -y -c conda-forge gcc_linux-64=12.2.0 gxx_linux-64=12.2.0 cmake=3.24.2 boost=1.80.0 python-devtools llvm-openmp
conda install -y -c conda-forge/label/gcc7 eigen mpfr
conda install -y -c psi4/label/dev libint2=2.7.1
conda install -y -c anaconda h5py gmp
cd ~/app/
git clone https://github.com/Quantum-Dynamics-Hub/libra-code.git libra
cd libra
git checkout devel
mkdir _build && cd _build && cmake ../
make -j4  
export PYTHONPATH=/home/mpiusr/app/libra/_build/src:$PYTHONPATH

But, I encountered some issues when I run the test jobs in libra-code, the following errors appear:

(libra) [mpiusr@ws1 test_1_init_system]$ python run_test.py 

/home/mpiusr/app/anaconda/3/envs/libra/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: to-Python converter for std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > already registered; second conversion method ignored.

  return f(*args, **kwds)

/home/mpiusr/app/anaconda/3/envs/libra/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: to-Python converter for boost::python::detail::container_element<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, unsigned long, boost::python::detail::final_vector_derived_policies<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, false> > already registered; second conversion method ignored.

  return f(*args, **kwds)

/home/mpiusr/app/anaconda/3/envs/libra/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: to-Python converter for std::vector<std::vector<float, std::allocator<float> >, std::allocator<std::vector<float, std::allocator<float> > > > already registered; second conversion method ignored.

  return f(*args, **kwds)

/home/mpiusr/app/anaconda/3/envs/libra/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: to-Python converter for boost::python::detail::container_element<std::vector<std::vector<float, std::allocator<float> >, std::allocator<std::vector<float, std::allocator<float> > > >, unsigned long, boost::python::detail::final_vector_derived_policies<std::vector<std::vector<float, std::allocator<float> >, std::allocator<std::vector<float, std::allocator<float> > > >, false> > already registered; second conversion method ignored.

  return f(*args, **kwds)

/home/mpiusr/app/anaconda/3/envs/libra/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: to-Python converter for std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > > already registered; second conversion method ignored.

  return f(*args, **kwds)

/home/mpiusr/app/anaconda/3/envs/libra/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: to-Python converter for boost::python::detail::container_element<std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > >, unsigned long, boost::python::detail::final_vector_derived_policies<std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > >, false> > already registered; second conversion method ignored.

  return f(*args, **kwds)

/home/mpiusr/app/anaconda/3/envs/libra/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: to-Python converter for std::vector<std::vector<std::complex<double>, std::allocator<std::complex<double> > >, std::allocator<std::vector<std::complex<double>, std::allocator<std::complex<double> > > > > already registered; second conversion method ignored.

  return f(*args, **kwds)

/home/mpiusr/app/anaconda/3/envs/libra/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: to-Python converter for boost::python::detail::container_element<std::vector<std::vector<std::complex<double>, std::allocator<std::complex<double> > >, std::allocator<std::vector<std::complex<double>, std::allocator<std::complex<double> > > > >, unsigned long, boost::python::detail::final_vector_derived_policies<std::vector<std::vector<std::complex<double>, std::allocator<std::complex<double> > >, std::allocator<std::vector<std::complex<double>, std::allocator<std::complex<double> > > > >, false> > already registered; second conversion method ignored.

  return f(*args, **kwds)

Traceback (most recent call last):

  File "run_test.py", line 23, in <module>

    from libra_py import *

AttributeError: module 'libra_py' has no attribute 'Gaussian_methods'

I would greatly appreciate your assistance in resolving these issues.

WeiLiweili commented 10 months ago

Hi,

Sounds this is because there is no Gaussian_methods.py in libra_py directory, whereas init.py in the same directory does include "Gaussian_methods". If you remove "Gaussian_methods" from init.py, then the error will disappear.

The Gaussian_methods.py was moved to libra_py/packages/gaussian/methods.py, you can call the module through import libra_py.packages.gaussian.methods as Gaussian_methods, and then explore various functionals defined in this module.

Wei

On Mon, Feb 5, 2024 at 11:55 AM ChemYin @.***> wrote:

Hi, I have successfully compiled libra-code (v5.5.0) with anaconda in following steps:

conda remove --name libra --all conda create -n libra python=3.7 conda activate libra conda install -y -c conda-forge numpy scipy matplotlib imageio jupyter_core conda install -y ipykernel conda install -y -c rmg py3dmol

Next, all what we actually need:

conda install -y conda-build make conda install -y -c conda-forge gcc_linux-64=12.2.0 gxx_linux-64=12.2.0 cmake=3.24.2 boost=1.80.0 python-devtools llvm-openmp conda install -y -c conda-forge/label/gcc7 eigen mpfr conda install -y -c psi4/label/dev libint2=2.7.1 conda install -y -c anaconda h5py gmp cd ~/app/ git clone https://github.com/Quantum-Dynamics-Hub/libra-code.git libra cd libra git checkout devel mkdir _build && cd _build && cmake ../ make -j4 export PYTHONPATH=/home/mpiusr/app/libra/_build/src:$PYTHONPATH

But, I encountered some issues when I run the test jobs in libra-code, the following errors appear:

(libra) @.*** test_1_init_system]$ python run_test.py

/home/mpiusr/app/anaconda/3/envs/libra/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: to-Python converter for std::vector<std::vector<int, std::allocator >, std::allocator<std::vector<int, std::allocator > > > already registered; second conversion method ignored.

return f(*args, **kwds)

/home/mpiusr/app/anaconda/3/envs/libra/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: to-Python converter for boost::python::detail::container_element<std::vector<std::vector<int, std::allocator >, std::allocator<std::vector<int, std::allocator > > >, unsigned long, boost::python::detail::final_vector_derived_policies<std::vector<std::vector<int, std::allocator >, std::allocator<std::vector<int, std::allocator > > >, false> > already registered; second conversion method ignored.

return f(*args, **kwds)

/home/mpiusr/app/anaconda/3/envs/libra/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: to-Python converter for std::vector<std::vector<float, std::allocator >, std::allocator<std::vector<float, std::allocator > > > already registered; second conversion method ignored.

return f(*args, **kwds)

/home/mpiusr/app/anaconda/3/envs/libra/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: to-Python converter for boost::python::detail::container_element<std::vector<std::vector<float, std::allocator >, std::allocator<std::vector<float, std::allocator > > >, unsigned long, boost::python::detail::final_vector_derived_policies<std::vector<std::vector<float, std::allocator >, std::allocator<std::vector<float, std::allocator > > >, false> > already registered; second conversion method ignored.

return f(*args, **kwds)

/home/mpiusr/app/anaconda/3/envs/libra/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: to-Python converter for std::vector<std::vector<double, std::allocator >, std::allocator<std::vector<double, std::allocator > > > already registered; second conversion method ignored.

return f(*args, **kwds)

/home/mpiusr/app/anaconda/3/envs/libra/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: to-Python converter for boost::python::detail::container_element<std::vector<std::vector<double, std::allocator >, std::allocator<std::vector<double, std::allocator > > >, unsigned long, boost::python::detail::final_vector_derived_policies<std::vector<std::vector<double, std::allocator >, std::allocator<std::vector<double, std::allocator > > >, false> > already registered; second conversion method ignored.

return f(*args, **kwds)

/home/mpiusr/app/anaconda/3/envs/libra/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: to-Python converter for std::vector<std::vector<std::complex, std::allocator<std::complex > >, std::allocator<std::vector<std::complex, std::allocator<std::complex > > > > already registered; second conversion method ignored.

return f(*args, **kwds)

/home/mpiusr/app/anaconda/3/envs/libra/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: to-Python converter for boost::python::detail::container_element<std::vector<std::vector<std::complex, std::allocator<std::complex > >, std::allocator<std::vector<std::complex, std::allocator<std::complex > > > >, unsigned long, boost::python::detail::final_vector_derived_policies<std::vector<std::vector<std::complex, std::allocator<std::complex > >, std::allocator<std::vector<std::complex, std::allocator<std::complex > > > >, false> > already registered; second conversion method ignored.

return f(*args, **kwds)

Traceback (most recent call last):

File "run_test.py", line 23, in

from libra_py import *

AttributeError: module 'libra_py' has no attribute 'Gaussian_methods'

I would greatly appreciate your assistance in resolving these issues.

— Reply to this email directly, view it on GitHub https://github.com/Quantum-Dynamics-Hub/libra-code/issues/203, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFCRGIQTVTB3DKTUNIRYUWLYSBJ3LAVCNFSM6AAAAABCZN7NQGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGEYTONRSGI4TIMQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

alexvakimov commented 10 months ago

Thank you, @WeiLiweili . This is a good catch - I have removed the Gaussian_methods from the init.py file of the libra_py folder. But yes - this is mainly because we moved some files around recently