为Scrapy安装包依赖项

 我叫yyson_836 发布于 2023-01-08 11:54

因此,在用户需要为Scrapy安装的许多软件包中,我认为我遇到了pyOpenSSL问题.

当我尝试创建一个教程Scrapy项目时,我得到以下输出:

Traceback (most recent call last):
  File "C:\Python27\lib\runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "C:\Python27\lib\runpy.py", line 72, in _run_code
    exec code in run_globals
  File "C:\Python27\lib\site-packages\scrapy\cmdline.py", line 168, in 
    execute()
  File "C:\Python27\lib\site-packages\scrapy\cmdline.py", line 122, in execute
    cmds = _get_commands_dict(settings, inproject)
  File "C:\Python27\lib\site-packages\scrapy\cmdline.py", line 46, in _get_comma
nds_dict
    cmds = _get_commands_from_module('scrapy.commands', inproject)
  File "C:\Python27\lib\site-packages\scrapy\cmdline.py", line 29, in _get_comma
nds_from_module
    for cmd in _iter_command_classes(module):
  File "C:\Python27\lib\site-packages\scrapy\cmdline.py", line 20, in _iter_comm
and_classes
    for module in walk_modules(module_name):
  File "C:\Python27\lib\site-packages\scrapy\utils\misc.py", line 68, in walk_mo
dules
    submod = import_module(fullpath)
  File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module
    __import__(name)
  File "C:\Python27\lib\site-packages\scrapy\commands\bench.py", line 3, in 
    from scrapy.tests.mockserver import MockServer
  File "C:\Python27\lib\site-packages\scrapy\tests\mockserver.py", line 6, in 
    from twisted.internet import reactor, defer, ssl
  File "C:\Python27\lib\site-packages\twisted\internet\ssl.py", line 59, in 
    from OpenSSL import SSL
  File "build\bdist.win32\egg\OpenSSL\__init__.py", line 8, in 
  File "build\bdist.win32\egg\OpenSSL\rand.py", line 11, in 
  File "build\bdist.win32\egg\OpenSSL\_util.py", line 3, in 
ImportError: No module named cryptography.hazmat.bindings.openssl.binding

当我用Google搜索最后一个错误(没有名为cryptography.hazmat的模块)时,我看到了几个pyOpenSSL的提及.所以我继续尝试运行easy_install pyOpenSSL==0.14以确保它是最新版本,但是当我这样做时,我得到了这个输出:

c:\python27\include\pymath.h(22) : warning C4273: 'round' : inconsistent dll lin
kage
        C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(51
6) : see previous definition of 'round'
c:\users\bk\appdata\local\temp\easy_install-tztawu\cryptography-0.4\temp\easy_in
stall-svxsjy\cffi-0.8.2\c\misc_win32.h(225) : error C2632: 'char' followed by 'b
ool' is illegal
c:\users\bk\appdata\local\temp\easy_install-tztawu\cryptography-0.4\temp\easy_in
stall-svxsjy\cffi-0.8.2\c\misc_win32.h(225) : warning C4091: 'typedef ' : ignore
d on left of 'unsigned char' when no variable is declared
c/_cffi_backend.c(5295) : warning C4146: unary minus operator applied to unsigne
d type, result still unsigned
c/_cffi_backend.c(5296) : warning C4146: unary minus operator applied to unsigne
d type, result still unsigned
c/_cffi_backend.c(5297) : warning C4146: unary minus operator applied to unsigne
d type, result still unsigned
c/_cffi_backend.c(5298) : warning C4146: unary minus operator applied to unsigne
d type, result still unsigned
error: Setup script exited with error: command '"C:\Program Files (x86)\Microsof
t Visual Studio 12.0\VC\BIN\cl.exe"' failed with exit status 2

所以我有点迷失了我需要做些什么来让Scrapy正常运行

1 个回答
  • 我在Mac OS上遇到了同样的错误.

    我通过使用openssl 0.13而不是最新版本来解决它.

    easy_install pyOpenSSL==0.13
    

    要么

    pip install pyOpenSSL==0.13
    

    2023-01-08 11:56 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有