运行ning scrapy with PyCharm - 调试有效但 运行 无效
Running scrapy with PyCharm - Debug works but Run does not work
我遇到了一个很奇怪的问题,运行ning Scrapy with PyCharm:
使用完全相同的配置,调试工作,但 运行 和 PyCharm 不工作。
- 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\helpers\pydev'
而且我真的认为这不会有任何不同。
希望有人能看一下,谢谢!
菜单 运行>编辑配置
启用复选框 "Show Command line afterwards"
这对我有帮助
如果您使用的是 PyCharm 的新版本,其中 Show Command line afterward
不再可用,Run with Python console
可以解决问题。
我也花了一些时间跟踪类似的问题。
我的问题是我有一个名为 http
的本地模块,它当然没有名为 client
的子模块。 here.
描述了另一个类似的问题
解决方案是通过编辑配置.
更改此测试调用的工作目录
我遇到了一个很奇怪的问题,运行ning Scrapy with PyCharm:
使用完全相同的配置,调试工作,但 运行 和 PyCharm 不工作。
- 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\helpers\pydev'
而且我真的认为这不会有任何不同。
希望有人能看一下,谢谢!
菜单 运行>编辑配置 启用复选框 "Show Command line afterwards" 这对我有帮助
如果您使用的是 PyCharm 的新版本,其中 Show Command line afterward
不再可用,Run with Python console
可以解决问题。
我也花了一些时间跟踪类似的问题。
我的问题是我有一个名为 http
的本地模块,它当然没有名为 client
的子模块。 here.
解决方案是通过编辑配置.
更改此测试调用的工作目录