Python2.7报错 AttributeError: 'module' object has no attribute 'F_GETFD'

现象

运行Python程序时出现以下错误:

Traceback (most recent call last):
  File "D:\Program Files (x86)\JetBrains\PyCharm 2018.1\helpers\pycharm\_jb_pytest_runner.py", line 31, in <module>
    pytest.main(args, plugins_to_load)
  File "D:\Program Files (x86)\Python27\lib\site-packages\_pytest\config\__init__.py", line 60, in main
    config = _prepareconfig(args, plugins)
  File "D:\Program Files (x86)\Python27\lib\site-packages\_pytest\config\__init__.py", line 204, in _prepareconfig
    pluginmanager=pluginmanager, args=args
  File "D:\Program Files (x86)\Python27\lib\site-packages\pluggy\hooks.py", line 289, in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
  File "D:\Program Files (x86)\Python27\lib\site-packages\pluggy\manager.py", line 87, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "D:\Program Files (x86)\Python27\lib\site-packages\pluggy\manager.py", line 81, in <lambda>
    firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  File "D:\Program Files (x86)\Python27\lib\site-packages\pluggy\callers.py", line 203, in _multicall
    gen.send(outcome)
  File "D:\Program Files (x86)\Python27\lib\site-packages\_pytest\helpconfig.py", line 93, in pytest_cmdline_parse
    config = outcome.get_result()
  File "D:\Program Files (x86)\Python27\lib\site-packages\pluggy\callers.py", line 81, in get_result
    _reraise(*ex)  # noqa
  File "D:\Program Files (x86)\Python27\lib\site-packages\pluggy\callers.py", line 187, in _multicall
    res = hook_impl.function(*args)
  File "D:\Program Files (x86)\Python27\lib\site-packages\_pytest\config\__init__.py", line 684, in pytest_cmdline_parse
    self.parse(args)
  File "D:\Program Files (x86)\Python27\lib\site-packages\_pytest\config\__init__.py", line 901, in parse
    self._preparse(args, addopts=addopts)
  File "D:\Program Files (x86)\Python27\lib\site-packages\_pytest\config\__init__.py", line 856, in _preparse
    early_config=self, args=args, parser=self._parser
  File "D:\Program Files (x86)\Python27\lib\site-packages\pluggy\hooks.py", line 289, in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
  File "D:\Program Files (x86)\Python27\lib\site-packages\pluggy\manager.py", line 87, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "D:\Program Files (x86)\Python27\lib\site-packages\pluggy\manager.py", line 81, in <lambda>
    firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  File "D:\Program Files (x86)\Python27\lib\site-packages\pluggy\callers.py", line 208, in _multicall
    return outcome.get_result()
  File "D:\Program Files (x86)\Python27\lib\site-packages\pluggy\callers.py", line 81, in get_result
    _reraise(*ex)  # noqa
  File "D:\Program Files (x86)\Python27\lib\site-packages\pluggy\callers.py", line 182, in _multicall
    next(gen)  # first yield
  File "D:\Program Files (x86)\Python27\lib\site-packages\_pytest\capture.py", line 60, in pytest_load_initial_conftests
    capman.start_global_capturing()
  File "D:\Program Files (x86)\Python27\lib\site-packages\_pytest\capture.py", line 120, in start_global_capturing
    self._global_capturing = self._getcapture(self._method)
  File "D:\Program Files (x86)\Python27\lib\site-packages\_pytest\capture.py", line 96, in _getcapture
    return MultiCapture(out=True, err=True, Capture=FDCapture)
  File "D:\Program Files (x86)\Python27\lib\site-packages\_pytest\capture.py", line 465, in __init__
    self.out = Capture(1)
  File "D:\Program Files (x86)\Python27\lib\site-packages\_pytest\capture.py", line 564, in __init__
    f = TemporaryFile()
  File "D:\Program Files (x86)\Python27\lib\tempfile.py", line 475, in NamedTemporaryFile
    (fd, name) = _mkstemp_inner(dir, prefix, suffix, flags)
  File "D:\Program Files (x86)\Python27\lib\tempfile.py", line 245, in _mkstemp_inner
    _set_cloexec(fd)
  File "D:\Program Files (x86)\Python27\lib\tempfile.py", line 50, in _set_cloexec
    flags = _fcntl.fcntl(fd, _fcntl.F_GETFD, 0)
AttributeError: 'module' object has no attribute 'F_GETFD'

解决方法:

  • 删除 Lib\fcntl.pyc, 并将Lib文件夹下fcntl.py重命名成fcntl_ex.py
    我的路径是

D:\Program Files (x86)\Python27\Lib\fcntl.pyc
D:\Program Files (x86)\Python27\Lib\fcntl.py

参考

AttributeError: ‘module’ object has no attribute ‘F_GETFD’ - Windows 7

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值