Pyinstaller 抓取错误: [英] Pyinstaller scrapy error:

查看:58
本文介绍了Pyinstaller 抓取错误:的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在windows 32位上安装scrapy的所有依赖项后.我试图从我的爬虫蜘蛛构建一个可执行文件.蜘蛛脚本runspider.py"在作为python runspider.py"运行时工作正常

构建可执行文件pyinstaller --onefile runspider.py":

<块引用>

C:\Users\username\Documents\scrapyexe>pyinstaller --onefilerunningpider.py 19 信息:写道C:\Users\username\Documents\scrapyexe\runspider.spec 49 信息:测试用于设置图标、版本资源的能力... 59 INFO: ... 资源更新可用 59 信息:UPX 不可用.89 信息:处理钩钩操作系统 279 信息:处理钩钩时间 279 信息:处理钩钩-cPickle 380 信息:处理钩钩-_sre 561 信息:处理钩子钩子-cStringIO 700 INFO:处理钩子挂钩编码 720 信息:处理挂钩挂钩编解码器 1351 信息:使用 C:\Users\username\Documents\scrapyexe 1351 扩展 PYTHONPATH信息:检查分析 1351 信息:构建分析,因为out00-Analysis.toc 不存在 1351 信息:正在运行分析out00-Analysis.toc 1351 信息:将 Microsoft.VC90.CRT 添加到依赖项最终可执行文件的程序集

1421 信息:正在搜索程序集x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none ... 1421 信息:找到清单 C:\Windows\WinSxS\Manifests\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91.manifest 1421 信息:正在搜索文件 msvcr90.dll 1421 信息:找到文件C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91\msvcr90.dll 1421 信息:正在搜索文件 msvcp90.dll 1421 信息:找到文件C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91\msvcp90.dll 1421 信息:正在搜索文件 msvcm90.dll 1421 信息:找到文件C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91\msvcm90.dll 1592 信息:分析 C:\python27\lib\site-packages\PyInstaller\loader_pyi_boots trap.py1621 信息:处理钩子钩操作系统 1661 信息:处理钩子挂钩站点 1681 信息:处理挂钩挂钩编码 1872 信息:处理挂钩挂钩时间 1872 信息:处理挂钩挂钩 cPickle 1983信息:处理钩子钩子-_sre 2173 信息:处理钩子hook-cStringIO 2332 信息:处理钩子编解码器 2963 信息:处理钩钩 pydoc 3154 信息:处理钩钩电子邮件 3255信息:处理钩子钩子-httplib 3305 信息:处理钩子hook-email.message 3444 信息:正在分析C:\python27\lib\site-packages\PyInstaller\loader\pyi_import ers.py3535 信息:分析C:\python27\lib\site-packages\PyInstaller\loader\pyi_archiv e.py 3615信息:分析C:\python27\lib\site-packages\PyInstaller\loader\pyi_carchi ve.py 3684信息:分析C:\python27\lib\site-packages\PyInstaller\loader\pyi_os_path h.py 3694信息:分析runspider.py 3755 警告:没有django 根目录可以找到!3755 信息:处理钩子钩子 django 3785 信息:处理钩子 hook-lxml.etree 4135 信息:处理钩子钩子 xml4196 信息:处理钩子 hook-xml.dom 4246 信息:处理钩子hook-xml.sax 4296 信息:处理 hook-pyexpat 4305 信息:处理钩子 hook-xml.dom.domreg 4736 信息:处理钩子hook-pywintypes 5046 INFO:处理 hook hook-distutils 7750 INFO:否则已找到隐藏的导入编解码器" 7750 信息:隐藏否则已找到 import 'encodings' 7750 INFO:寻找运行时挂钩 7750 信息:分析 rthookC:\python27\lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_twisted.py 8111 信息:分析 rthookC:\python27\lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_django.py 8121 信息:处理钩子 hook-django.core8131 信息:处理钩子 hook-django.core.management 8401 信息:处理钩子钩子-django.core.mail 8862 信息:处理钩子hook-django.db 9112 信息:处理 hook-django.db.backends 9153信息:处理钩子 hook-django.db.backends.mysql 9163 信息:处理钩子钩django.db.backends.mysql.base 9163 INFO:处理钩子钩子-django.db.backends.oracle 9183 INFO:处理hook hook-django.db.backends.oracle.base 9253 INFO:处理钩子hook-django.core.cache 9874 信息:处理 hook-sqlite3 10023信息:处理钩子 hook-django.contrib 10023 信息:处理钩子hook-django.contrib.sessions 11887 信息:使用 Python 库C:\Windows\system32\python27.dll 12226 信息:警告写入C:\用户\用户名\文档\scrapyexe\build\runspider\warnrunspider.txt 12256 信息:检查 PYZ 12256 信息:重建out00-PYZ.toc 因为 out00-PYZ.pyz 缺少 12256 INFO: buildingPYZ (ZlibArchive) out00-PYZ.toc 16983 信息:检查 PKG 16993 信息:重建 out00-PKG.toc 因为 out00-PKG.pkg 缺少 16993 信息:构建 PKG (CArchive) out00-PKG.pkg 19237 信息:检查 EXE 19237信息:重建 out00-EXE.toc 因为 runningpider.exe 缺少 19237信息:从 out00-EXE.toc 19237 构建 EXE 信息:将存档附加到EXE C:\Users\username\Documents\scrapyexe\dist\run spider.exe

运行内置的 exerunspider.exe":

<块引用>

C:\Users\username\Documents\scrapyexe\dist>runspider.exe

回溯(最近一次调用最后一次):

文件",第2行,在

文件C:\python27\Lib\site-packages\PyInstaller\loader\pyi_importers.py",行第270话

exec(bytecode, module.dict)

文件C:\Users\username\Documents\scrapyexe\build\runspider\out00-PYZ.pyz\scrapy",第 10 行,在

文件C:\Users\username\Documents\scrapyexe\build\runspider\out00-PYZ.pyz\pkgutil",第 591 行,在 get_data 中

文件C:\python27\Lib\site-packages\PyInstaller\loader\pyi_importers.py",行第342话

fp = open(path, 'rb')

IOError: [Errno 2] 没有这样的文件或目录:'C:\Users\username\AppData\Local\\Temp\_MEI15522\scrapy\VERSION'

我对任何形式的帮助都非常有帮助.我需要知道如何从scrapy spider for windows 构建独立的exe.

非常感谢您的帮助.

解决方案

scrapy/__init__.py里面,你会看到作者使用pkgutil.get_data().我不太确定您是否需要向 pyinstaller 表明 scrapy/VERSION 文本文件像数据文件一样被完全打包,或者 pkgutil.get_data 是否完全适用于 pyinstaller,但这是我使用的一个快速技巧.

只需转到 __init__.py 文件,注释掉这两行并替换为您选择的字符串,例如 __version__="scrap-123".您将需要 __version__ 因为它在另一个模块中被引用.

__version__ = pkgutil.get_data(__package__, 'VERSION').decode('ascii').strip()version_info = tuple(int(v) if v.isdigit() else v对于 __version__.split('.')) 中的 v

After installing all dependencies for scrapy on windows 32bit. I've tried to build an executable from my scrapy spider. Spider script "runspider.py" works ok when running as "python runspider.py"

Building executable "pyinstaller --onefile runspider.py":

C:\Users\username\Documents\scrapyexe>pyinstaller --onefile runspider.py 19 INFO: wrote C:\Users\username\Documents\scrapyexe\runspider.spec 49 INFO: Testing for ability to set icons, version resources... 59 INFO: ... resource update available 59 INFO: UPX is not available. 89 INFO: Processing hook hook-os 279 INFO: Processing hook hook-time 279 INFO: Processing hook hook-cPickle 380 INFO: Processing hook hook-_sre 561 INFO: Processing hook hook-cStringIO 700 INFO: Processing hook hook-encodings 720 INFO: Processing hook hook-codecs 1351 INFO: Extending PYTHONPATH with C:\Users\username\Documents\scrapyexe 1351 INFO: checking Analysis 1351 INFO: building Analysis because out00-Analysis.toc non existent 1351 INFO: running Analysis out00-Analysis.toc 1351 INFO: Adding Microsoft.VC90.CRT to dependent assemblies of final executable

1421 INFO: Searching for assembly x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21 022.8_none ... 1421 INFO: Found manifest C:\Windows\WinSxS\Manifests\x86_microsoft.vc90.crt_1fc 8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91.manifest 1421 INFO: Searching for file msvcr90.dll 1421 INFO: Found file C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_ 9.0.21022.8_none_bcb86ed6ac711f91\msvcr90.dll 1421 INFO: Searching for file msvcp90.dll 1421 INFO: Found file C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_ 9.0.21022.8_none_bcb86ed6ac711f91\msvcp90.dll 1421 INFO: Searching for file msvcm90.dll 1421 INFO: Found file C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_ 9.0.21022.8_none_bcb86ed6ac711f91\msvcm90.dll 1592 INFO: Analyzing C:\python27\lib\site-packages\PyInstaller\loader_pyi_boots trap.py 1621 INFO: Processing hook hook-os 1661 INFO: Processing hook hook-site 1681 INFO: Processing hook hook-encodings 1872 INFO: Processing hook hook-time 1872 INFO: Processing hook hook-cPickle 1983 INFO: Processing hook hook-_sre 2173 INFO: Processing hook hook-cStringIO 2332 INFO: Processing hook hook-codecs 2963 INFO: Processing hook hook-pydoc 3154 INFO: Processing hook hook-email 3255 INFO: Processing hook hook-httplib 3305 INFO: Processing hook hook-email.message 3444 INFO: Analyzing C:\python27\lib\site-packages\PyInstaller\loader\pyi_import ers.py 3535 INFO: Analyzing C:\python27\lib\site-packages\PyInstaller\loader\pyi_archiv e.py 3615 INFO: Analyzing C:\python27\lib\site-packages\PyInstaller\loader\pyi_carchi ve.py 3684 INFO: Analyzing C:\python27\lib\site-packages\PyInstaller\loader\pyi_os_pat h.py 3694 INFO: Analyzing runspider.py 3755 WARNING: No django root directory could be found! 3755 INFO: Processing hook hook-django 3785 INFO: Processing hook hook-lxml.etree 4135 INFO: Processing hook hook-xml 4196 INFO: Processing hook hook-xml.dom 4246 INFO: Processing hook hook-xml.sax 4296 INFO: Processing hook hook-pyexpat 4305 INFO: Processing hook hook-xml.dom.domreg 4736 INFO: Processing hook hook-pywintypes 5046 INFO: Processing hook hook-distutils 7750 INFO: Hidden import 'codecs' has been found otherwise 7750 INFO: Hidden import 'encodings' has been found otherwise 7750 INFO: Looking for run-time hooks 7750 INFO: Analyzing rthook C:\python27\lib\site-packages\PyInstaller\loader\rth ooks\pyi_rth_twisted.py 8111 INFO: Analyzing rthook C:\python27\lib\site-packages\PyInstaller\loader\rth ooks\pyi_rth_django.py 8121 INFO: Processing hook hook-django.core 8131 INFO: Processing hook hook-django.core.management 8401 INFO: Processing hook hook-django.core.mail 8862 INFO: Processing hook hook-django.db 9112 INFO: Processing hook hook-django.db.backends 9153 INFO: Processing hook hook-django.db.backends.mysql 9163 INFO: Processing hook hook-django.db.backends.mysql.base 9163 INFO: Processing hook hook-django.db.backends.oracle 9183 INFO: Processing hook hook-django.db.backends.oracle.base 9253 INFO: Processing hook hook-django.core.cache 9874 INFO: Processing hook hook-sqlite3 10023 INFO: Processing hook hook-django.contrib 10023 INFO: Processing hook hook-django.contrib.sessions 11887 INFO: Using Python library C:\Windows\system32\python27.dll 12226 INFO: Warnings written to C:\Users\username\Documents\scrapyexe\build\runspid er\warnrunspider.txt 12256 INFO: checking PYZ 12256 INFO: rebuilding out00-PYZ.toc because out00-PYZ.pyz is missing 12256 INFO: building PYZ (ZlibArchive) out00-PYZ.toc 16983 INFO: checking PKG 16993 INFO: rebuilding out00-PKG.toc because out00-PKG.pkg is missing 16993 INFO: building PKG (CArchive) out00-PKG.pkg 19237 INFO: checking EXE 19237 INFO: rebuilding out00-EXE.toc because runspider.exe missing 19237 INFO: building EXE from out00-EXE.toc 19237 INFO: Appending archive to EXE C:\Users\username\Documents\scrapyexe\dist\run spider.exe

running built exe "runspider.exe":

C:\Users\username\Documents\scrapyexe\dist>runspider.exe

Traceback (most recent call last):

File "", line 2, in

File "C:\python27\Lib\site-packages\PyInstaller\loader\pyi_importers.py", line 270, in load_module

exec(bytecode, module.dict)

File "C:\Users\username\Documents\scrapyexe\build\runspider\out00-PYZ.pyz\scrapy" , line 10, in

File "C:\Users\username\Documents\scrapyexe\build\runspider\out00-PYZ.pyz\pkgutil ", line 591, in get_data

File "C:\python27\Lib\site-packages\PyInstaller\loader\pyi_importers.py", line 342, in get_data

fp = open(path, 'rb')

IOError: [Errno 2] No such file or directory: 'C:\Users\username\AppData\Local\ \Temp\_MEI15522\scrapy\VERSION'

I'm extremely helpful for any kind of help. I need to know how to build standalone exe from scrapy spider for windows.

Thank you very much for any help.

解决方案

Inside scrapy/__init__.py, you'll see the part where the author uses pkgutil.get_data(). I'm not very sure if you need to indicate to pyinstaller that the scrapy/VERSION text file gets packaged altogether like a data file, or if pkgutil.get_data works at all for pyinstaller, but heres a quick hack I used.

Simply go to the __init__.py file, comment away these 2 lines and replace with a string of your choice e.g __version__="scrap-123". You will need __version__ as it's being referred to in another module.

__version__ = pkgutil.get_data(__package__, 'VERSION').decode('ascii').strip()
version_info = tuple(int(v) if v.isdigit() else v
                     for v in __version__.split('.'))

这篇关于Pyinstaller 抓取错误:的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆