1. 程式人生 > 實用技巧 >Python問題:ImportError: cannot import name 'gen' from 'tornado' (unknown location)

Python問題:ImportError: cannot import name 'gen' from 'tornado' (unknown location)

背景:

使用kali安裝子域名收集工具(oneforall)時,安裝文件的步驟執行很順利,但在執行主程式時遇到的如下報錯。

RHEL/Centos系統
1、安裝git和pip3
sudo yum update
sudo yum install git python3-pip -y

2、克隆OneForAll專案
git clone https://gitee.com/shmilylty/OneForAll.git

3、安裝相關依賴
cd OneForAll/
sudo yum install gcc python3-devel python3-pip -y
sudo python3 -m pip install -U pip setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/

sudo pip3 install uvloop -i https://mirrors.aliyun.com/pypi/simple/
sudo pip3 install --ignore-installed -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
python3 oneforall.py --help

問題描述:

root@unic0rn:~/web/OneForAll# python3 oneforall.py --help
Traceback (most recent call last):
  File "oneforall.py
", line 15, in <module> import dbexport File "/root/web/OneForAll/dbexport.py", line 13, in <module> from common import utils File "/root/web/OneForAll/common/utils.py", line 13, in <module> import tenacity File "/usr/local/lib/python3.8/dist-packages/tenacity/__init__.py", line 504
, in <module> from tenacity.tornadoweb import TornadoRetrying File "/usr/local/lib/python3.8/dist-packages/tenacity/tornadoweb.py", line 23, in <module> from tornado import gen ImportError: cannot import name 'gen' from 'tornado' (unknown location)

解決方法:

安裝較低版本的tornado ,命令如下:

pip install tornado==5.1.1

然後就可以正常使用了

python3 oneforall.py --target example.com run
python3 oneforall.py --targets ./example.txt run