2017-04-07 66 views
6

我遇到了一个很奇怪的问题,用PyCharm运行Scrapy:
使用完全相同的配置,Debug工作,但使用PyCharm运行不起作用。使用PyCharm运行scrapy - 调试工作,但运行不起作用

  • 的Windows 10
  • PyCharm 2016年3月3日
  • Scrapy 1.3.3
  • 的Python 3.6.0

配置: PyCharm Edit Configuration Page

当我尝试调试scrapy,它完美地工作。 当我尝试运行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 

无需附加任何代码,因为即使运行以下命令:

python3.exe C:\Users\baib2\AppData\Local\Programs\Python\Python36\Lib\site-packages\scrapy\cmdline.py

会产生同样的错误。

我检查了我的sys.path中,用跑的比较,调试有1条以上的路径:

'C:\ Program Files文件(x86)的\ JetBrains公司\ PyCharm 2016年3月3日\佣工\ PyDev的'

我真的认为这不会有什么区别。

希望有人能看一看,谢谢!

+0

'不叫“http.client''模块意味着你正在运行的东西,是为在python2 python3。 – Granitosaurus

+0

感谢您的回复!但我100%确定我正在使用python3。你可以看到我在附件中使用Python3解释器。 –

+0

你是否设法解决这个问题?我面临完全相同的症状 - scrapy在调试中运行良好,但在正常运行时或从命令行运行时,http.client失败。 – Lili

回答

4

菜单Run>编辑配置 启用复选框“带命令行继” 这有助于我

相关问题