我有一个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", line 8, 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)...