运行scrapy与PyCharm - 调试工作,但运行不工作

问题描述 投票:11回答:3

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

  • 视窗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的'

我真的不认为这将任何区别。

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

python scrapy pycharm python-3.6
3个回答
7
投票

菜单运行>编辑配置,使勾选“带命令行的事后”这可以帮助我


0
投票

如果你正在使用PyCharm的新版本,其中Show Command line afterward已不存在,Run with Python console解决了这个问题。


0
投票

我也花了一些时间跟踪了类似的问题。

我的问题是,我有一个本地模块名为http这当然不叫子模块client。另一个类似的问题被描述here

解决的办法是改变工作目录通过编辑配置本次测试的调用。

© www.soinside.com 2019 - 2024. All rights reserved.