OSError:[Errno 9] 在 python 中使用 pip 命令时出现错误的文件描述符

OSError:[Errno 9] 在 python 中使用 pip 命令时出现错误的文件描述符

当我尝试在 cmd 中使用 pip 升级 pip 或安装新包时,显示以下错误。我已卸载并重新安装 python,但问题仍然存在。我当前的 python 版本是 3.7.3,我在 Windows 10 平台上运行它。此错误消息显示:

OSError:[Errno 9] 错误的文件描述符

如何修复此问题?以及导致此错误的原因是什么。

错误信息是:

C:\Users\ELCOT>python -m pip install -upgrade pip
Traceback (most recent call last):
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\ELCOT\AppData\Local\Programs\Python\Python37-32\Scripts\pip.exe\__main__.py", line 5, in <module>
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\__init__.py", line 40, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\cli\autocompletion.py", line 8, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\cli\main_parser.py", line 12, in <module>
    from pip._internal.commands import (
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\commands\__init__.py", line 6, in <module>
    from pip._internal.commands.completion import CompletionCommand
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\commands\completion.py", line 6, in <module>
    from pip._internal.cli.base_command import Command
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\cli\base_command.py", line 20, in <module>
    from pip._internal.download import PipSession
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\download.py", line 15, in <module>
    from pip._vendor import requests, six, urllib3
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_vendor\requests\__init__.py", line 114, in <module>
    from . import utils
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_vendor\requests\utils.py", line 26, in <module>
    from ._internal_utils import to_native_string
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_vendor\requests\_internal_utils.py", line 11, in <module>
    from .compat import is_py2, builtin_str, str
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_vendor\requests\compat.py", line 64, in <module>
    from http.cookies import Morsel
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 724, in exec_module
  File "<frozen importlib._bootstrap_external>", line 859, in get_code
  File "<frozen importlib._bootstrap_external>", line 917, in get_data
  OSError: [Errno 9] Bad file descriptor

C:\Users\ELCOT>pip install numpy
Traceback (most recent call last):
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\ELCOT\AppData\Local\Programs\Python\Python37-32\Scripts\pip.exe\__main__.py", line 5, in <module>
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\__init__.py", line 40, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\cli\autocompletion.py", line 8, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\cli\main_parser.py", line 12, in <module>
    from pip._internal.commands import (
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\commands\__init__.py", line 6, in <module>
    from pip._internal.commands.completion import CompletionCommand
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\commands\completion.py", line 6, in <module>
    from pip._internal.cli.base_command import Command
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\cli\base_command.py", line 20, in <module>
    from pip._internal.download import PipSession
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_internal\download.py", line 15, in <module>
    from pip._vendor import requests, six, urllib3
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_vendor\requests\__init__.py", line 114, in <module>
    from . import utils
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_vendor\requests\utils.py", line 26, in <module>
    from ._internal_utils import to_native_string
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_vendor\requests\_internal_utils.py", line 11, in <module>
    from .compat import is_py2, builtin_str, str
  File "c:\users\elcot\appdata\local\programs\python\python37-32\lib\site-packages\pip\_vendor\requests\compat.py", line 64, in <module>
    from http.cookies import Morsel
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 724, in exec_module
  File "<frozen importlib._bootstrap_external>", line 859, in get_code
  File "<frozen importlib._bootstrap_external>", line 917, in get_data
  OSError: [Errno 9] Bad file descriptor

答案1

我认为最近(大约过去 3 年)Windows 更新了一些安全设置,可能是为了对抗勒索软件,所以我们编写的程序,例如 python 程序,只能读取/写入 C:\Users\xxxxx\Documents 文件夹内的文件。

我曾经创建一个特殊的工作文件夹 C:\working,并进行所有编码工作,现在由于此安全更新,该程序不再运行。将完全相同的程序移动到 C:\Users\xxxxx\Documents,然后它就可以像往常一样运行了。

相关内容