2014-08-28 98 views
1

在windows 32bit上安裝了scrapy的所有依賴關係之後。我試圖從我的scrapy蜘蛛建立一個可執行文件。Pyinstaller scrapy錯誤:

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

運行內置的exe 「runspider.exe」:爲 「蟒蛇runspider.py」

大廈可執行 「pyinstaller --onefile runspider.py」 運行時,蜘蛛腳本 「runspider.py」 工程確定:

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'

我對任何幫助都非常有幫助。我需要知道如何從scrapy蜘蛛for windows構建獨立的exe。

非常感謝您的幫助。

回答

1

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 
        for v in __version__.split('.'))