如何解决Scrpay-ModuleNotFoundError:没有名为“ http.client”的模块
我有一个Django项目,并且在Django项目中,有一个Scrapy蜘蛛。
django_project/manage.py
/spider/spider/settings.py
/spider/spider/spiders/myspider.py
我已通过以下方式激活环境:
source /opt/python/current/env (According to the tutorial)
source /opt/python/run/venv/bin/activate
和cd到django_project/spider
-就像在我的计算机上一样。
当我尝试做时:
/opt/python/run/venv/bin/python3.6 /opt/python/run/venv/local/lib/python3.6/site-packages/scrapy/cmdline.py crawl spider
它返回:
Traceback (most recent call last):
File "/opt/python/run/venv/local/lib/python3.6/site-packages/scrapy/cmdline.py",line 8,in <module>
import scrapy
File "/opt/python/run/venv/local/lib/python3.6/site-packages/scrapy/__init__.py",line 9,in <module>
from twisted import version as _txv
File "/opt/python/run/venv/local/lib64/python3.6/site-packages/twisted/__init__.py",line 17,in <module>
from twisted.python.deprecate import deprecatedModuleAttribute
File "/opt/python/run/venv/local/lib64/python3.6/site-packages/twisted/python/__init__.py",line 11,in <module>
from .compat import unicode
File "/opt/python/run/venv/local/lib64/python3.6/site-packages/twisted/python/compat.py",line 605,in <module>
from http import cookiejar as cookielib
File "/opt/python/run/venv/lib/python3.6/site-packages/scrapy/http/__init__.py",in <module>
from scrapy.http.headers import Headers
File "/opt/python/run/venv/local/lib/python3.6/site-packages/scrapy/http/__init__.py",line 10,in <module>
from scrapy.http.request import Request
File "/opt/python/run/venv/local/lib/python3.6/site-packages/scrapy/http/request/__init__.py",line 7,in <module>
from w3lib.url import safe_url_string
File "/opt/python/run/venv/local/lib/python3.6/site-packages/w3lib/url.py",line 18,in <module>
from six.moves.urllib.request import pathname2url,url2pathname
File "/opt/python/run/venv/local/lib/python3.6/site-packages/six.py",line 92,in __get__
result = self._resolve()
File "/opt/python/run/venv/local/lib/python3.6/site-packages/six.py",line 160,in _resolve
module = _import_module(self.mod)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/six.py",line 82,in _import_module
__import__(name)
File "/usr/lib64/python3.6/urllib/request.py",line 88,in <module>
import http.client
ModuleNotFoundError: No module named 'http.client'
您知道问题出在哪里吗?
EDIT3:
ls -la /opt/python/run/venv/local/lib/python3.6/site-packages/scrapy/cmdline.py
-rw-r--r-- 1 ec2-user ec2-user 5364 30. srp 10.33 /opt/python/run/venv/local/lib/python3.6/site-packages/scrapy/cmdline.py
所以我改变了它:
chmod +x /opt/python/run/venv/local/lib/python3.6/site-packages/scrapy/cmdline.py
-rwxr-xr-x 1 ec2-user ec2-user 5364 30. srp 10.33 cmdline.py
现在它返回相同的错误(http.client)...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。