今天准备创建个scrapy新项目,没想到输入scrapy startproject Demo后报了一堆错,因为刚装的anaconda,整个环境都是刚搭的,之前没出现过这种情况,然后百度了一波。照着别人的办法做了一遍,完美解决。
我是看这位大神的帖子解决的问题:https://blog.csdn.net/joe861011/article/details/78406906?utm_source=blogxgwz0
以下为解决此问题的过程:
C:\Users\Xiaofeng7s\PycharmProjects\one>scrapy startproject Demo
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\Scripts\scrapy-script.py", line 10, in <module>
sys.exit(execute())
File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\cmdline.py", line 149, in execute
cmd.crawler_process = CrawlerProcess(settings)
File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\crawler.py", line 252, in __init__
log_scrapy_info(self.settings)
File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\utils\log.py", line 149, in log_scrapy_info
for name, version in scrapy_components_versions()
File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\utils\versions.py", line 35, in scrapy_components_versions
("pyOpenSSL", _get_openssl_version()),
File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\utils\versions.py", line 43, in _get_openssl_version
import OpenSSL
File "C:\ProgramData\Anaconda3\lib\site-packages\OpenSSL\__init__.py", line 8, in <module>
from OpenSSL import crypto, SSL
File "C:\ProgramData\Anaconda3\lib\site-packages\OpenSSL\crypto.py", line 16, in <module>
from OpenSSL._util import (
File "C:\ProgramData\Anaconda3\lib\site-packages\OpenSSL\_util.py", line 6, in <module>
from cryptography.hazmat.bindings.openssl.binding import Binding
File "C:\ProgramData\Anaconda3\lib\site-packages\cryptography\hazmat\bindings\openssl\binding.py", line 14, in <module>
from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: DLL load failed: 找不到指定的程序。
C:\Users\Xiaofeng7s\PycharmProjects\one>pip uninstall pyopenssl
Uninstalling pyOpenSSL-18.0.0:
Would remove:
c:\programdata\anaconda3\lib\site-packages\openssl\*
c:\programdata\anaconda3\lib\site-packages\pyopenssl-18.0.0.dist-info\*
Proceed (y/n)? y
Successfully uninstalled pyOpenSSL-18.0.0
C:\Users\Xiaofeng7s\PycharmProjects\one>pip uninstall cryptography
Uninstalling cryptography-2.4.2:
Would remove:
c:\programdata\anaconda3\lib\site-packages\cryptography-2.4.2.dist-info\*
c:\programdata\anaconda3\lib\site-packages\cryptography\*
Proceed (y/n)? y
Successfully uninstalled cryptography-2.4.2
C:\Users\Xiaofeng7s\PycharmProjects\one>pip install pyopenssl
Collecting pyopenssl
Downloading https://files.pythonhosted.org/packages/96/af/9d29e6bd40823061aea2e0574ccb2fcf72bfd6130ce53d32773ec375458c/pyOpenSSL-18.0.0-py2.py3-none-any.whl (53kB)
100% |████████████████████████████████| 61kB 20kB/s
Collecting cryptography>=2.2.1 (from pyopenssl)
Downloading https://files.pythonhosted.org/packages/c7/c7/2b97b9af3b16ea45aeabd5fe7eb07902c0c24c5d596b68f677c1f50ae55e/cryptography-2.4.2-cp37-cp37m-win_amd64.whl (1.3MB)
100% |████████████████████████████████| 1.3MB 6.4kB/s
Requirement already satisfied: six>=1.5.2 in c:\programdata\anaconda3\lib\site-packages (from pyopenssl) (1.11.0)
Requirement already satisfied: cffi!=1.11.3,>=1.7 in c:\programdata\anaconda3\lib\site-packages (from cryptography>=2.2.1->pyopenssl) (1.11.5)
Requirement already satisfied: idna>=2.1 in c:\programdata\anaconda3\lib\site-packages (from cryptography>=2.2.1->pyopenssl) (2.7)
Requirement already satisfied: asn1crypto>=0.21.0 in c:\programdata\anaconda3\lib\site-packages (from cryptography>=2.2.1->pyopenssl) (0.24.0)
Requirement already satisfied: pycparser in c:\programdata\anaconda3\lib\site-packages (from cffi!=1.11.3,>=1.7->cryptography>=2.2.1->pyopenssl) (2.18)
Installing collected packages: cryptography, pyopenssl
Successfully installed cryptography-2.4.2 pyopenssl-18.0.0
C:\Users\Xiaofeng7s\PycharmProjects\one>pip install cryptography
Requirement already satisfied: cryptography in c:\programdata\anaconda3\lib\site-packages (2.4.2)
Requirement already satisfied: cffi!=1.11.3,>=1.7 in c:\programdata\anaconda3\lib\site-packages (from cryptography) (1.11.5)
Requirement already satisfied: idna>=2.1 in c:\programdata\anaconda3\lib\site-packages (from cryptography) (2.7)
Requirement already satisfied: six>=1.4.1 in c:\programdata\anaconda3\lib\site-packages (from cryptography) (1.11.0)
Requirement already satisfied: asn1crypto>=0.21.0 in c:\programdata\anaconda3\lib\site-packages (from cryptography) (0.24.0)
Requirement already satisfied: pycparser in c:\programdata\anaconda3\lib\site-packages (from cffi!=1.11.3,>=1.7->cryptography) (2.18)
C:\Users\Xiaofeng7s\PycharmProjects\one>scrapy startproject Demo
New Scrapy project 'Demo', using template directory 'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\scrapy\\templates\\project', created in:
C:\Users\Xiaofeng7s\PycharmProjects\one\Demo
You can start your first spider with:
cd Demo
scrapy genspider example example.com
C:\Users\Xiaofeng7s\PycharmProjects\one>cd Demo
C:\Users\Xiaofeng7s\PycharmProjects\one\Demo>scrapy genspider example example.com
Created spider 'example' using template 'basic' in module:
Demo.spiders.example
C:\Users\Xiaofeng7s\PycharmProjects\one\Demo>
其实就是先卸载pyopenssl 、cryptography,然后再重新安装。
pip uninstall pyopenssl
pip uninstall cryptography
pip install pyopenssl
pip install cryptography