OSError: [Errno 9] 安装 ibm db 时在 python 中使用 pip 命令时文件描述符错误

问题描述 投票:0回答:0

我正在尝试在 python 3.11 64 位上安装 ibm db pip 模块然后我得到了这些以下错误

请帮忙


C:\Users\Admin>py -m pip install ibm_db -v
Using pip 23.1.2 from C:\Users\Admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip (python 3.11)
Collecting ibm_db
  Using cached ibm_db-3.1.4.tar.gz (1.4 MB)
  Running command pip subprocess to install build dependencies
  Collecting setuptools
    Using cached setuptools-67.7.2-py3-none-any.whl (1.1 MB)
  Installing collected packages: setuptools
  Successfully installed setuptools-67.7.2
  Installing build dependencies ... done
  Running command Getting requirements to build wheel
  Detected 64-bit Python
  Detected platform = win32
  Downloading https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/ntx64_odbc_cli.zip
   Downloading DSDriver from url =  https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/ntx64_odbc_cli.zip
  running egg_info
  writing ibm_db.egg-info\PKG-INFO
  writing dependency_links to ibm_db.egg-info\dependency_links.txt
  writing top-level names to ibm_db.egg-info\top_level.txt
  reading manifest file 'ibm_db.egg-info\SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no previously-included files found matching 'config.py'
  adding license file 'LICENSE'
  writing manifest file 'ibm_db.egg-info\SOURCES.txt'

  ****************************************
  You are downloading a package which includes the Python module for IBM DB2/Informix.  The module is licensed under the Apache License 2.0. The package also includes IBM ODBC and CLI Driver from IBM, which is automatically downloaded as the python module is installed on your system/device. The license agreement to the IBM ODBC and CLI Driver is available in C:\Users\Admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\clidriver or C:\Users\Admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\ibm_db-3.1.4-py3.1.egg\clidriver.   Check for additional dependencies, which may come with their own license agreement(s). Your use of the components of the package and dependencies constitutes your acceptance of their respective license agreements. If you do not accept the terms of any license agreement(s), then delete the relevant component(s) from your device.
  ****************************************
  Getting requirements to build wheel ... done
  Running command pip subprocess to install backend dependencies
  Collecting wheel
    Using cached wheel-0.40.0-py3-none-any.whl (64 kB)
  Installing collected packages: wheel
  Successfully installed wheel-0.40.0
  Installing backend dependencies ... done
  Running command Preparing metadata (pyproject.toml)
  Detected 64-bit Python
  Detected platform = win32
  running dist_info
  creating C:\Users\Admin\AppData\Local\Temp\pip-modern-metadata-qse4ttet\ibm_db.egg-info
  writing C:\Users\Admin\AppData\Local\Temp\pip-modern-metadata-qse4ttet\ibm_db.egg-info\PKG-INFO
  writing dependency_links to C:\Users\Admin\AppData\Local\Temp\pip-modern-metadata-qse4ttet\ibm_db.egg-info\dependency_links.txt
  writing top-level names to C:\Users\Admin\AppData\Local\Temp\pip-modern-metadata-qse4ttet\ibm_db.egg-info\top_level.txt
  writing manifest file 'C:\Users\Admin\AppData\Local\Temp\pip-modern-metadata-qse4ttet\ibm_db.egg-info\SOURCES.txt'
  reading manifest file 'C:\Users\Admin\AppData\Local\Temp\pip-modern-metadata-qse4ttet\ibm_db.egg-info\SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no previously-included files found matching 'config.py'
  adding license file 'LICENSE'
  writing manifest file 'C:\Users\Admin\AppData\Local\Temp\pip-modern-metadata-qse4ttet\ibm_db.egg-info\SOURCES.txt'
  creating 'C:\Users\Admin\AppData\Local\Temp\pip-modern-metadata-qse4ttet\ibm_db-3.1.4.dist-info'

  ****************************************
  You are downloading a package which includes the Python module for IBM DB2/Informix.  The module is licensed under the Apache License 2.0. The package also includes IBM ODBC and CLI Driver from IBM, which is automatically downloaded as the python module is installed on your system/device. The license agreement to the IBM ODBC and CLI Driver is available in C:\Users\Admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\clidriver or C:\Users\Admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\ibm_db-3.1.4-py3.1.egg\clidriver.   Check for additional dependencies, which may come with their own license agreement(s). Your use of the components of the package and dependencies constitutes your acceptance of their respective license agreements. If you do not accept the terms of any license agreement(s), then delete the relevant component(s) from your device.
  ****************************************
  OSError: [Errno 9] Bad file descriptor

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "C:\Users\Admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
      main()
    File "C:\Users\Admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 349, in main
      write_json(json_out, pjoin(control_dir, 'output.json'), indent=2)
    File "C:\Users\Admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 31, in write_json
      with open(path, 'w', encoding='utf-8') as f:
  OSError: [Errno 9] Bad file descriptor
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
  full command: 'C:\Users\Admin\AppData\Local\Programs\Python\Python311\python.exe' 'C:\Users\Admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\Admin\AppData\Local\Temp\tmp8tcg0ise'
  cwd: C:\Users\Admin\AppData\Local\Temp\pip-install-o4ztkyco\ibm-db_a13dacf9287d420f9e0b5be6b0cc847d
  Preparing metadata (pyproject.toml) ... error
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

我尝试将 IBM_DB_HOME 设置为 clidriver 但它返回其他错误,例如无法构建轮子。我也尝试将 IBM_DB_HOME 设置为安装驱动程序的位置,但它也无济于事

python-3.x windows cmd pip db2
© www.soinside.com 2019 - 2024. All rights reserved.