Python Scrapy、pyinstaller和大量缺失的模块

Python Scrapy、pyinstaller和大量缺失的模块,python,scrapy,fatal-error,pyinstaller,Python,Scrapy,Fatal Error,Pyinstaller,我正在用Python2.7开发一个scrapy程序,从nhtsa.gov中删除数据。它在命令行中工作得很好,但我想将其打包到单个文件应用程序中,所以我使用pyinstaller。Pyinstaller创建了一个应用程序文件,但运行时会显示“致命错误!NHTSasrap返回-1”。当我进入警告日志文件时,会发现大约有100个模块丢失,这些模块我甚至从未听说过: missing module named posix - imported by os missing module named code

我正在用Python2.7开发一个scrapy程序,从nhtsa.gov中删除数据。它在命令行中工作得很好,但我想将其打包到单个文件应用程序中,所以我使用pyinstaller。Pyinstaller创建了一个应用程序文件,但运行时会显示“致命错误!NHTSasrap返回-1”。当我进入警告日志文件时,会发现大约有100个模块丢失,这些模块我甚至从未听说过:

missing module named posix - imported by os
missing module named codecs.mbcs_encode - imported by codecs, encodings.mbcs
missing module named codecs.mbcs_decode - imported by codecs, encodings.mbcs
missing module named datetime.date - imported by datetime, _strptime,
missing module named 'six.moves.urllib' - imported by 'six.moves.urllib', 
missing module named _xmlrpclib - imported by xmlrpclib, 
missing module named twisted.version - imported by twisted, scrapy, 
missing module named cStringIO.InputType - imported by cStringIO, twisted.python.compat, twisted.persisted.styles
missing module named cStringIO.OutputType - imported by cStringIO, twisted.python.compat, twisted.persisted.styles
missing module named 'urllib.parse' - imported by twisted.python.compat, lxml.html, twisted.web.http
…还有更多。我现在运行我的spec文件来创建应用程序,并尝试编辑“hiddenimports”和“excludes”字段,但这并没有真正改变任何事情。例如,如果我说

 excludes=['posix','codecs','codecs.mbcs_encode']
警告日志文件给出了与上面相同的结果,但添加了“excluded module posix”等,但它似乎并没有实际排除该模块

必须有一种更简单的方法来处理所有这些缺失的模块,或者由于某些原因,所有这些模块都被引用,即使我的程序不使用它们


如果有人感兴趣,我可以发布完整的日志文件。想法

该列表包括“urllib.parse”,它是Python3的一部分。看起来PyInstaller可能正试图通过对源文件进行静态解析来查找模块。因此,我不认为缺少模块警告是一个问题,Python2中不需要这些东西。您是否尝试过向代码中添加调试调用,以尝试准确地找出在哪个执行点失败?你能提供一个非常基本的例子来重现这个问题吗?您是如何设法将scrapy配置文件等打包到可执行文件中,并使eCutable从正确的工作目录运行scrapy的?