问题:pyinstaller打包python项目,启动报错requests,如果是类似的报错,就是request证书没有打包进项目
from .db_schema import DBSchemaAssembler # noqa: F401
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
File "dbgpt/rag/assembler/db_schema.py", line 12, in <module>
from ..embedding.embedding_factory import DefaultEmbeddingFactory
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
File "dbgpt/rag/embedding/__init__.py", line 8, in <module>
from .embeddings import ( # noqa: F401
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
File "dbgpt/rag/embedding/embeddings.py", line 6, in <module>
import requests
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
File "requests/__init__.py", line 164, in <module>
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
File "requests/api.py", line 11, in <module>
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
File "requests/sessions.py", line 15, in <module>
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "PyInstaller/loader/pyimod02_importers.py", line 450, in exec_module
File "requests/adapters.py", line 81, in <module>
FileNotFoundError: [Errno 2] No such file or directory
解决:
项目根目录下有*.spec文件,文件中datas,参数添加datas=[((‘具体路径/certifi/cacert.pem’,‘certifi’))]
cacert.pem文件位置替换你环境下绝对路径