You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下用PyInstaller等工具打包exe时keystoneauth1报错

Python打包exe时keystoneauth1相关问题

将Python应用转换为exe文件时遇到问题,经最小测试脚本hello.py验证,问题出在导入keystoneauth1.identity.v3环节——脚本在控制台可正常运行,但打包后的exe执行失败。已在Python 3.9.13和3.10.11版本的虚拟环境中测试。

使用不同打包工具时出现的错误如下:

PyInstaller错误

File "hello.py", line 1, 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 385, in exec_module
File "keystoneauth1\identity\__init__.py", line 13, 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 385, in exec_module
File "keystoneauth1\identity\base.py", line 21, 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 385, in exec_module
File "keystoneauth1\access\__init__.py", line 13, 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 385, in exec_module
File "keystoneauth1\access\access.py", line 20, 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 385, in exec_module
File "keystoneauth1\access\service_catalog.py", line 22, 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 385, in exec_module
File "keystoneauth1\discover.py", line 28, 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 385, in exec_module
File "os_service_types\__init__.py", line 18, 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 385, in exec_module
File "os_service_types\service_types.py", line 23, in <module>
File "os_service_types\data\__init__.py", line 30, in read_data
FileNotFoundError: [Errno 2] No such file or directory: '\\Local\\Temp\\_MEI2202\\os_service_types\\data\\service-types.json'
[13472] Failed to execute script 'hello' due to unhandled exception!

cx_Freeze错误

.venv\Lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 124, in run
.venv\Lib\site-packages\cx_Freeze\initscripts\console.py", line 16, in run
exec(code, module_main.__dict__)
File "hello.py", line 1, in <module>
File ".venv\lib\site-packages\keystoneauth1\identity\__init__.py", line 13, in <module>
from keystoneauth1.identity import base
File ".venv\lib\site-packages\keystoneauth1\identity\base.py", line 21, in <module>
from keystoneauth1 import access
File ".venv\lib\site-packages\keystoneauth1\access\__init__.py", line 13, in <module>
from keystoneauth1.access.access import *  # noqa
File ".venv\lib\site-packages\keystoneauth1\access\access.py", line 20, in <module>
from keystoneauth1.access import service_catalog
ImportError: cannot import name 'service_catalog' from partially initialized module 'keystoneauth1.access' (most likely due to a circular import) (build\exe.win-amd64-3.10\lib\keystoneauth1\access\__init__.pyc)

py2exe错误

File "hello.py", line 1, in <module>
File "keystoneauth1\identity\__init__.pyc", line 13, in <module>
File "keystoneauth1\identity\base.pyc", line 21, in <module>
File "keystoneauth1\access\__init__.pyc", line 13, in <module>
File "keystoneauth1\access\access.pyc", line 20, in <module>
File "keystoneauth1\access\service_catalog.pyc", line 22, in <module>
File "keystoneauth1\discover.pyc", line 28, in <module>
File "os_service_types\__init__.pyc", line 18, in <module>
File "os_service_types\service_types.pyc", line 23, in <module>
File "os_service_types\data\__init__.pyc", line 30, in read_data
FileNotFoundError: [Errno 2] No such file or directory: '\\dist\\library.zip\\os_service_types\\data\\service-types.json'

内容的提问来源于stack exchange,提问作者masto12

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 17:25:55