基于scrapy的网络蜘蛛在被Pyinstaller打包后崩溃了

时间:2016-03-25 08:09:59

标签: python-2.7 scrapy pyqt4 pyinstaller

基于scrapy,我构建了一个python web spider。基于PyQt4的Windows GUI与这个web spider相结合。有一些细节:

  • 操作系统:Windows7 x64
  • Python:2.7.6
  • IDE:PyCharm
  • GUI:PyQt4
  • 蜘蛛:scrapy
  • 包工具:Pyinstaller

当我在PyCharm下运行它时,一切都很好,我得到的一切除了。然后,我把这个项目包装在一个独立的* .exe文件中,我有一些错误。

Traceback (most recent call last):
File "multiprocessing\process.py", line 258, in _bootstrap
File "scholar\SpiderProcess.py", line 81, in run
File "site-packages\scrapy\utils\project.py", line 61, in get_project_settings
File "site-packages\scrapy\settings\__init__.py", line 109, in setmodule
File "importlib\__init__.py", line 37, in import_module
ImportError: No module named settings

这是我的项目文件树:

ScholarSpider
|____scrapy.cfg
|____main.py
|____installer.py
|____scholar
     |______init__.py
     |____items.py
     |____pipelines.py
     |____settings.py
     |____SpiderProcess.py
     |____spider
          |_______init__.py
          |____PLOS_Spider.py
          |____ASM_Spider.py

main.py 是条目

installer.py 是Pyinstaller文件

# installer.py
import os
if __name__=='__main__':
    from PyInstaller.__main__ import run
    opts=['-c','-F','main.py',
          '-p', r'D:\Program Files\Python 2.7.6\Lib\site-packages\scrapy;'
                r'D:\Program Files\Python 2.7.6\Lib\site-packages\scrapy\utils']
    run(opts)

spider正在由multiprocess.Process创建的独立进程中运行(在 SpiderProcess.py 中表示)。当我单击GUI中的按钮时,它会启动。每次都是单击按钮,它会分解并发送错误消息。我想知道我的项目中存在 settings.py 模块,并且PyCharm中的一切都正常。

任何人都可以告诉我什么是错的吗?

谢谢!

0 个答案:

没有答案