[英]Running scrapy with PyCharm - Debug works but Run does not work
I met a very strange issue, running Scrapy with PyCharm: 我遇到了一个非常奇怪的问题,用PyCharm运行Scrapy:
With the exact same configuration, Debug works, but Run with PyCharm does NOT work. 使用完全相同的配置,Debug可以工作,但使用PyCharm运行不起作用。
Configuration: PyCharm Edit Configuration Page 配置: PyCharm编辑配置页面
When I attempt to debug scrapy, it works perfectly. 当我尝试调试scrapy时,它完美无缺。 When I attempt to run scrapy, I get below error: 当我尝试运行scrapy时,我得到以下错误:
C:\Users\baib2\AppData\Local\Programs\Python\Python36\python.exe
C:/Users/baib2/AppData/Local/Programs/Python/Python36/Lib/site-packages/scrapy/cmdline.py crawl scenelist_spider
Traceback (most recent call last):
File "C:/Users/baib2/AppData/Local/Programs/Python/Python36/Lib/site-packages/scrapy/cmdline.py", line 8, in <module
import scrapy
File "C:\Users\baib2\AppData\Local\Programs\Python\Python36\lib\site-packages\scrapy\__init__.py", line 27, in <module
from . import _monkeypatches
File "C:\Users\baib2\AppData\Local\Programs\Python\Python36\lib\site-packages\scrapy\_monkeypatches.py", line 20, in <module
import twisted.persisted.styles # NOQA
File "C:\Users\baib2\AppData\Local\Programs\Python\Python36\lib\site-packages\twisted\persisted\styles.py", line 21, in <module
from twisted.python.compat import _PY3, _PYPY
File "C:\Users\baib2\AppData\Local\Programs\Python\Python36\lib\site-packages\twisted\python\__init__.py", line 11, in <module
from .compat import unicode
File "C:\Users\baib2\AppData\Local\Programs\Python\Python36\lib\site-packages\twisted\python\compat.py", line 612, in <module
from http import cookiejar as cookielib
File "C:\Users\baib2\AppData\Local\Programs\Python\Python36\Lib\site-packages\scrapy\http\__init__.py", line 8, in <module
from scrapy.http.headers import Headers
File "C:\Users\baib2\AppData\Local\Programs\Python\Python36\lib\site-packages\scrapy\http\__init__.py", line 10, in <module
from scrapy.http.request import Request
File "C:\Users\baib2\AppData\Local\Programs\Python\Python36\lib\site-packages\scrapy\http\request\__init__.py", line 8, in <module
from w3lib.url import safe_url_string
File "C:\Users\baib2\AppData\Local\Programs\Python\Python36\lib\site-packages\w3lib\url.py", line 17, in <module
from six.moves.urllib.request import pathname2url, url2pathname
File "C:\Users\baib2\AppData\Local\Programs\Python\Python36\lib\site-packages\six.py", line 92, in __get__
result = self._resolve()
File "C:\Users\baib2\AppData\Local\Programs\Python\Python36\lib\site-packages\six.py", line 160, in _resolve
module = _import_module(self.mod)
File "C:\Users\baib2\AppData\Local\Programs\Python\Python36\lib\site-packages\six.py", line 82, in _import_module
__import__(name)
File "C:\Users\baib2\AppData\Local\Programs\Python\Python36\lib\urllib\request.py", line 88, in <module
import http.client
ModuleNotFoundError: No module named 'http.client'
Process finished with exit code 1
No need to attach any code because even running the command: 无需附加任何代码,因为即使运行命令:
python3.exe C:\\Users\\baib2\\AppData\\Local\\Programs\\Python\\Python36\\Lib\\site-packages\\scrapy\\cmdline.py
will produce the same error. 会产生同样的错误。
I've checked my sys.path , comparing with run, debug has 1 more path: 我检查了我的sys.path ,与run相比,debug还有1个路径:
'C:\\Program Files (x86)\\JetBrains\\PyCharm 2016.3.3\\helpers\\pydev' 'C:\\ Program Files(x86)\\ JetBrains \\ PyCharm 2016.3.3 \\ helpers \\ pydev'
And I really don't think this shall make any difference. 我真的不认为这会有任何不同。
Hope someone can take a look, thanks! 希望有人可以看看,谢谢!
菜单运行>编辑配置启用复选框“以后显示命令行”这对我有帮助
如果您使用的是新版本的PyCharm, Show Command line afterward
不再可用,则Run with Python console
可解决此问题。
I've also spent some time tracking a similar problem. 我也花了一些时间跟踪类似的问题。
My issue was that I have a local module named http
which of course does not submodule called client
. 我的问题是我有一个名为http
的本地模块,当然这个模块不是名为client
子模块。 Another similar issue is described here . 这里描述了另一个类似的问题。
The solution is to change Working directory for this test invocation via Edit configurations . 解决方案是通过编辑配置更改此测试调用的工作目录 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.