From e212c08ebb7f479abb72b87374075017370aeb5c Mon Sep 17 00:00:00 2001 From: Jinzhe Zeng Date: Thu, 13 Jun 2024 21:47:26 -0400 Subject: [PATCH 1/5] fix: don't catch ImportError for mendeleev and dpdata Fix #3743. This will give users more clear error message than `NameError`. Signed-off-by: Jinzhe Zeng --- deepmd/utils/econf_embd.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/deepmd/utils/econf_embd.py b/deepmd/utils/econf_embd.py index a1b427ac7d..ec6e9dcfea 100644 --- a/deepmd/utils/econf_embd.py +++ b/deepmd/utils/econf_embd.py @@ -1,13 +1,11 @@ # SPDX-License-Identifier: LGPL-3.0-or-later import numpy as np -try: - import dpdata - from mendeleev import ( - element, - ) -except ImportError: - pass + +import dpdata +from mendeleev import ( + element, +) ### # made by command From 7ec57555d0e4f761b590d16c8d83af3b9f0d71c5 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 14 Jun 2024 01:48:11 +0000 Subject: [PATCH 2/5] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- deepmd/utils/econf_embd.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/deepmd/utils/econf_embd.py b/deepmd/utils/econf_embd.py index ec6e9dcfea..0ddef114ab 100644 --- a/deepmd/utils/econf_embd.py +++ b/deepmd/utils/econf_embd.py @@ -1,8 +1,6 @@ # SPDX-License-Identifier: LGPL-3.0-or-later -import numpy as np - - import dpdata +import numpy as np from mendeleev import ( element, ) From 5efa9ab06d38c7df54f59454c3fe140ea61bbbb0 Mon Sep 17 00:00:00 2001 From: Jinzhe Zeng Date: Fri, 14 Jun 2024 00:51:31 -0400 Subject: [PATCH 3/5] remove dpdata Signed-off-by: Jinzhe Zeng --- deepmd/utils/econf_embd.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/deepmd/utils/econf_embd.py b/deepmd/utils/econf_embd.py index 0ddef114ab..cdd9525f6b 100644 --- a/deepmd/utils/econf_embd.py +++ b/deepmd/utils/econf_embd.py @@ -1,5 +1,4 @@ # SPDX-License-Identifier: LGPL-3.0-or-later -import dpdata import numpy as np from mendeleev import ( element, @@ -169,7 +168,7 @@ maxl = maxn maxm = 2 * maxl + 1 -type_map = dpdata.periodic_table.ELEMENTS +type_map = list(electronic_configuration_embedding.keys()) ECONF_DIM = electronic_configuration_embedding[type_map[0]].shape[0] From 65c232cdd6106b5618c78f6abf36534a66d71b27 Mon Sep 17 00:00:00 2001 From: Jinzhe Zeng Date: Fri, 14 Jun 2024 00:52:15 -0400 Subject: [PATCH 4/5] add mendeleev to dependencies Signed-off-by: Jinzhe Zeng --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index ebb60b1712..40dc0cc761 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,6 +47,7 @@ dependencies = [ 'wcmatch', 'packaging', 'ml_dtypes', + 'mendeleev', ] requires-python = ">=3.8" keywords = ["deepmd"] From a41dcb6210ca9ae4e58eaadba4d82936b0424f59 Mon Sep 17 00:00:00 2001 From: Jinzhe Zeng Date: Fri, 14 Jun 2024 00:53:04 -0400 Subject: [PATCH 5/5] remove workaround Signed-off-by: Jinzhe Zeng --- pyproject.toml | 1 - source/tests/common/test_econf_embd.py | 8 -------- 2 files changed, 9 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 40dc0cc761..2cb489ce43 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -79,7 +79,6 @@ test = [ "pytest-sugar", "pytest-split", "dpgui", - "mendeleev", ] docs = [ "sphinx>=3.1.1", diff --git a/source/tests/common/test_econf_embd.py b/source/tests/common/test_econf_embd.py index 3c4d1a3b4a..d24115c860 100644 --- a/source/tests/common/test_econf_embd.py +++ b/source/tests/common/test_econf_embd.py @@ -6,15 +6,7 @@ make_econf_embedding, ) -try: - import mendeleev # noqa: F401 - has_mendeleev = True -except ImportError: - has_mendeleev = False - - -@unittest.skipIf(not has_mendeleev, "does not have mendeleev installed, skip the UTs.") class TestEConfEmbd(unittest.TestCase): def test_fe(self): res = make_econf_embedding(["Fe"], flatten=False)["Fe"]