• 搭建第一个scrapy项目的常见问题


    错误1:在执行 scrapy crawl spider名命令的时候 出现了ImportError:DLL load failed: %1不是有效的win32程序错误 这是因为pywin32的版本安装错误。

    因为我电脑是64位的 。最开始安装了pywin32-221.win-amd64-py3.6这个版本 ,还以为amd64就是与自己电脑的位数想对应,后来发现,这个要安装amd32版本就解决了问题。安装完成之后可以用import win32com来测试是否安装成功。若不报错就OK了。

    错误2:

    这是未安装pywin32造成。在这里可能有小伙伴会问之前装过pywin32。需要说明的是,pywin32在每一个虚拟环境都是独立存在的,所以你可能在其他虚拟环境装过pywin32,不过在新的虚拟环境是不存在的。pywin32的安装方法如下:

     

     

    pywin32是一个exe文件,而且在运行的时候路径已经默认了 还不能修改。所以安装完成之后事实上我们的virtualenv中还是没有pywin32。它只存在于python的安装目录下。拿我自己的电脑举例:

    只存在于 C:UsersAdministratorAppDataLocalProgramsPythonPython36-32Libsite-packages 下能发现win32com

    所以我们想要在虚拟环境下也有pywin32包的话,需要将C:UsersAdministratorAppDataLocalProgramsPythonPython36-32Libsite-packages下的 pywin32.pth文件拷贝到 你虚拟环境的 site-packages下 。我的电脑是C:UsersAdministratorEnvsscrapy_spiderLibsite-packages ;拷贝了之后 ,你需要将虚拟环境目录下的这个pth文件的内容进行修改:

    源文件内容:

    # .pth file for the PyWin32 extensions
    win32
    win32lib
    Pythonwin

    修改之后的内容:

    # .pth file for the PyWin32 extensions
    C:UsersAdministratorAppDataLocalProgramsPythonPython36-32Libsite-packageswin32
    C:UsersAdministratorAppDataLocalProgramsPythonPython36-32Libsite-packageswin32lib
    C:UsersAdministratorAppDataLocalProgramsPythonPython36-32Libsite-packagespythonwin    //这里的目录也是python的安装目录下的文件。
     
    完成之后你的虚拟环境也能够正常使用pywin32这个包。

     

     

  • 相关阅读:
    git 从远程仓库指定分支克隆代码到本地
    vue路由懒加载
    ES6中拓展运算符 ...
    Mysql 安装-windows X64
    mysql-Federated存储方式,远程表,相当于sql server的linked server
    优化临时表使用,SQL语句性能提升100倍
    MySQL行锁深入研究
    mysql 队列 实现并发读
    mysql 常用sql
    mysql分表的3种方法
  • 原文地址:https://www.cnblogs.com/devise/p/9974695.html
Copyright © 2020-2023  润新知