AttributeError: 'HTTPClient' object has no attribute '_closed'

未关闭
#65 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
25/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞
技术栈
django, python
领域
cli

调研方向

从入口点 gaffer load Procfile 开始,检查 gaffer/httpclient/base.py 和 gaffer/tornado_pyuv.py,其中 traceback 显示初始化和清理失败。检查此路径使用的 pyuv 集成的兼容性,并在报告中的 Python 环境中重现该命令。当加载 Procfile 不再引发 _closed 或 unref AttributeError 时,即表示完成。

由索引模型根据 Issue 内容生成。

描述

Gaffer version: gaffer version 0.5.2

I have a Django 2.0 application deployed on VPS with virtual environment setup using pipenv.

At present, using this command to run the application from terminal in background.

/root/.local/bin/pipenv run /home/user/.local/share/virtualenvs/app.application.com-IuTkL8w_/bin/gunicorn myapp.wsgi:application &

Now, I want to configure using Procfile and gaffer.

I added a file Procfile to root of the application directory with command

web: gunicorn myapp.wsgi --log-file - --log-level debug

and trying to load it with gaffer

$ cd myproject
$ gaffer load Procfile

but it is giving error as

Traceback (most recent call last):
  File "/usr/local/bin/gaffer", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.6/site-packages/gaffer/cli/main.py", line 252, in main
    cli.run()
  File "/usr/local/lib/python3.6/site-packages/gaffer/cli/main.py", line 193, in run
    config = Config(self.args)
  File "/usr/local/lib/python3.6/site-packages/gaffer/cli/main.py", line 87, in __init__
    api_key=api_key, **self.client_options)
  File "/usr/local/lib/python3.6/site-packages/gaffer/httpclient/server.py", line 22, in __init__
    super(Server, self).__init__(uri, loop=loop, **options)
  File "/usr/local/lib/python3.6/site-packages/gaffer/httpclient/base.py", line 86, in __init__
    self.client = HTTPClient(loop=loop)
  File "/usr/local/lib/python3.6/site-packages/gaffer/httpclient/base.py", line 42, in __init__
    self._io_loop = IOLoop(_loop=loop)
  File "/usr/local/lib/python3.6/site-packages/gaffer/tornado_pyuv.py", line 54, in __init__
    self._waker = Waker(self._loop)
  File "/usr/local/lib/python3.6/site-packages/gaffer/tornado_pyuv.py", line 28, in __init__
    self._async.unref()
AttributeError: 'pyuv._cpyuv.Async' object has no attribute 'unref'
Exception ignored in: <bound method HTTPClient.__del__ of <gaffer.httpclient.base.HTTPClient object at 0x7f96746c5b00>>
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/gaffer/httpclient/base.py", line 50, in __del__
    self.close()
  File "/usr/local/lib/python3.6/site-packages/gaffer/httpclient/base.py", line 54, in close
    if not self._closed:
AttributeError: 'HTTPClient' object has no attribute '_closed'

How to solve this AttributeError: 'HTTPClient' object has no attribute '_closed' error?

主要语言
Python
星标
365
派生
32
PR 合并指标
30 天内没有已合并 PR

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

benoitc/gaffer 的其他 Issue

查看 benoitc/gaffer 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。