asfernandes / node-firebird-drivers

Node.js Firebird Drivers
MIT License
53 stars 17 forks source link

Error while building: ModuleNotFoundError: No module named 'distutils' #141

Closed ninoDeme closed 5 months ago

ninoDeme commented 5 months ago

This error seems to be caused when compiling using node-gyp < 10.0.0 and python version > 3.12 due to the deprecation of distutils

Should be able to be fixed just by updating the node-gyp version https://github.com/nodejs/node-gyp/issues/2869 https://github.com/nodejs/node-gyp/pull/2923 sample output while compiling whith python 3.12 on

npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node-gyp rebuild
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@9.4.1
npm ERR! gyp info using node@20.8.0 | win32 | x64
npm ERR! gyp info find Python using Python version 3.12.1 found at "C:\Users\MEUCOMPUTADOR\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\python.exe"
npm ERR! gyp info find VS using VS2022 (17.5.33414.496) found at:
npm ERR! gyp info find VS "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools"
npm ERR! gyp info find VS run with --verbose for detailed information
npm ERR! gyp info spawn C:\Users\MEUCOMPUTADOR\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\python.exe
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   'D:\\projects\\teste-firebird\\node_modules\\node-firebird-native-api\\node_modules\\node-gyp\\gyp\\gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'msvs',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'D:\\projects\\teste-firebird\\node_modules\\node-firebird-native-api\\build\\config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'D:\\projects\\teste-firebird\\node_modules\\node-firebird-native-api\\node_modules\\node-gyp\\addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'C:\\Users\\MEUCOMPUTADOR\\AppData\\Local\\node-gyp\\Cache\\20.8.0\\include\\node\\common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=C:\\Users\\MEUCOMPUTADOR\\AppData\\Local\\node-gyp\\Cache\\20.8.0',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=D:\\projects\\teste-firebird\\node_modules\\node-firebird-native-api\\node_modules\\node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=C:\\\\Users\\\\MEUCOMPUTADOR\\\\AppData\\\\Local\\\\node-gyp\\\\Cache\\\\20.8.0\\\\<(target_arch)\\\\node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=D:\\projects\\teste-firebird\\node_modules\\node-firebird-native-api',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'D:\\projects\\teste-firebird\\node_modules\\node-firebird-native-api\\build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! Traceback (most recent call last):
npm ERR!   File "D:\projects\teste-firebird\node_modules\node-firebird-native-api\node_modules\node-gyp\gyp\gyp_main.py", line 42, in <module>
npm ERR!     import gyp  # noqa: E402
npm ERR!     ^^^^^^^^^^
npm ERR!   File "D:\projects\teste-firebird\node_modules\node-firebird-native-api\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 9, in <module>  
npm ERR!     import gyp.input
npm ERR!   File "D:\projects\teste-firebird\node_modules\node-firebird-native-api\node_modules\node-gyp\gyp\pylib\gyp\input.py", line 19, in <module>    
npm ERR!     from distutils.version import StrictVersion
npm ERR! ModuleNotFoundError: No module named 'distutils'
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1
npm ERR! gyp ERR! stack     at ChildProcess.onCpExit (D:\projects\teste-firebird\node_modules\node-firebird-native-api\node_modules\node-gyp\lib\configure.js:325:16)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:514:28)
npm ERR! gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:294:12)
npm ERR! gyp ERR! System Windows_NT 10.0.22621
npm ERR! gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "D:\\projects\\teste-firebird\\node_modules\\node-firebird-native-api\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd D:\projects\teste-firebird\node_modules\node-firebird-native-api
npm ERR! gyp ERR! node -v v20.8.0
npm ERR! gyp ERR! node-gyp -v v9.4.1
npm ERR! gyp ERR! not ok