2017-04-07 223 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>編輯配置 啓用複選框「帶命令行繼」 這有助於我