如果一直在尝试创建我的项目的独立版本。我已经能够使用 py2app 创建安装文件和别名应用程序,没有问题。运行别名应用没有问题。但是,在创建独立文件时,应用程序不再运行。
首先,我在打开应用程序时收到的错误如下:
File "scrapy/__init__.pyc", line 10, in <module>
File "pkgutil.pyc", line 616, in get_data
File "importlib/util.pyc", line 83, in find_spec
AttributeError: 'NoneType' object has no attribute 'startswith'
由于第一行指向 scrapy 模块,我试图用一个空项目重现问题。
正如预期的那样,空项目完美无缺。该应用程序独立运行,没有任何错误。直到添加刮擦框架。我制作了这个小脚本试图重现问题:
import scrapy
if __name__ == '__main__':
scrapy.Request("http://www.google.com")
使用此文件,我尝试再次创建独立应用程序,正如预期的那样,它崩溃并出现与上述相同的错误。
有关此问题的任何帮助将不胜感激。
更新
按照user5214530的建议,我尝试使用pyinstaller和--onefile命令创建独立应用程序。可悲的是,我确实得到了与以前类似的结果。
File "site-packages/scrapy/__init__.py", line 10, in <module>
File "pkgutil.py", line 634, in get_data
File "/Users/.../Test/venv/lib/python3.6/site-packages/PyInstaller/loader/pyimod03_importers.py", line 479, in get_data
with open(path, 'rb') as fp:
FileNotFoundError: [Errno 2] No such file or directory: '/var/folders/mz/rg4w2jjj2zj5rtvnv8lxby2w0000gn/T/_MEIiGJyET/scrapy/VERSION'
如您所见,我使用简单的测试脚本尝试了这个,其中只有刮擦,但它也失败了。可能是刮擦的问题吗?
我建议你改用pyinstaller,用--onefile命令。
1.( pip install pyinstaller 2.( pyinstaller
--onefile script.py