diff --git a/news/315.update.rst b/news/315.update.rst new file mode 100644 index 00000000..916ae74d --- /dev/null +++ b/news/315.update.rst @@ -0,0 +1 @@ +Update hiddenimports for ``pymssql > 2.1.5``. diff --git a/requirements-test-libraries.txt b/requirements-test-libraries.txt index f165008c..5b5b5c38 100644 --- a/requirements-test-libraries.txt +++ b/requirements-test-libraries.txt @@ -34,6 +34,7 @@ pyexcelerate==0.10.0 pylint==2.10.2 pyusb==1.2.1 pynput==1.7.3 +pymssql==2.2.2 pystray==0.17.3 pyzmq==22.2.1 PyQt5==5.15.4 diff --git a/src/_pyinstaller_hooks_contrib/hooks/stdhooks/hook-pymssql.py b/src/_pyinstaller_hooks_contrib/hooks/stdhooks/hook-pymssql.py index dd53bf7e..d9c4edb6 100644 --- a/src/_pyinstaller_hooks_contrib/hooks/stdhooks/hook-pymssql.py +++ b/src/_pyinstaller_hooks_contrib/hooks/stdhooks/hook-pymssql.py @@ -1,5 +1,5 @@ # ------------------------------------------------------------------ -# Copyright (c) 2020 PyInstaller Development Team. +# Copyright (c) 2020-2021 PyInstaller Development Team. # # This file is distributed under the terms of the GNU General Public # License (version 2.0 or later). @@ -10,4 +10,11 @@ # SPDX-License-Identifier: GPL-2.0-or-later # ------------------------------------------------------------------ -hiddenimports = ['_mssql'] +from PyInstaller.utils.hooks import is_module_satisfies + +hiddenimports = ["decimal"] +# In newer versions of pymssql, the _mssql was under pymssql +if is_module_satisfies("pymssql > 2.1.5"): + hiddenimports += ["pymssql._mssql", "uuid"] +else: + hiddenimports += ["_mssql"] diff --git a/src/_pyinstaller_hooks_contrib/tests/test_libraries.py b/src/_pyinstaller_hooks_contrib/tests/test_libraries.py index 10ddda3e..92a7efb6 100644 --- a/src/_pyinstaller_hooks_contrib/tests/test_libraries.py +++ b/src/_pyinstaller_hooks_contrib/tests/test_libraries.py @@ -787,3 +787,10 @@ def test_tableauhyperapi(pyi_builder): pyi_builder.test_source(""" import tableauhyperapi """) + + +@importorskip("pymssql") +def test_pymssql(pyi_builder): + pyi_builder.test_source(""" + import pymssql + """)