使用阿里云oss python sdk时,利用pyinstaller打包报错
- Python Version: 所有Python2,3版本(无论32位,64位)
- aliyunsdkcore Version: aliyun-python-sdk-core 2.13.0
- API: Python SDK
使用OSS的Python SDK时,需要利用PyInstaller打包,运行时会报错:
Traceback (most recent call last): File "main.py", line 2, in <module> File "c:\users\kepyc\appdata\local\temp\pip-install-ylddt2\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 395, in load_module File "site-packages\oss2\__init__.py", line 5, in <module> File "c:\users\kepyc\appdata\local\temp\pip-install-ylddt2\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 395, in load_module File "site-packages\oss2\api.py", line 177, in <module> File "c:\users\kepyc\appdata\local\temp\pip-install-ylddt2\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 395, in load_module File "site-packages\oss2\crypto.py", line 21, in <module> File "c:\users\kepyc\appdata\local\temp\pip-install-ylddt2\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 395, in load_module File "site-packages\aliyunsdkcore\client.py", line 43, in <module> File "c:\users\kepyc\appdata\local\temp\pip-install-ylddt2\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 395, in load_module File "site-packages\aliyunsdkcore\retry\retry_policy.py", line 33, in <module> File "site-packages\aliyunsdkcore\retry\retry_condition.py", line 219, in __init__ File "site-packages\aliyunsdkcore\utils\__init__.py", line 23, in _load_json_from_data_dir IOError: [Errno 2] No such file or directory: 'C:\\Users\\kepyc\\AppData\\Local\\Temp\\_MEI315402\\aliyunsdkcore\\data\\retry_config.json' [20412] Failed to execute script main
打包命令为 pyinstaller -F xx.py,后尝试使用不带-F命令,运行时依旧报错,错误为:
Traceback (most recent call last): File "buckup_oss.py", line 8, in <module> File "c:\docume~1\jim\locals~1\temp\pip-install-nt2nxu\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 395, in load_module File "site-packages\oss2\__init__.py", line 5, in <module> File "c:\docume~1\jim\locals~1\temp\pip-install-nt2nxu\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 395, in load_module File "site-packages\oss2\api.py", line 177, in <module> File "c:\docume~1\jim\locals~1\temp\pip-install-nt2nxu\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 395, in load_module File "site-packages\oss2\crypto.py", line 21, in <module> File "c:\docume~1\jim\locals~1\temp\pip-install-nt2nxu\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 395, in load_module File "site-packages\aliyunsdkcore\client.py", line 43, in <module> File "c:\docume~1\jim\locals~1\temp\pip-install-nt2nxu\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 395, in load_module File "site-packages\aliyunsdkcore\retry\retry_policy.py", line 33, in <module> File "site-packages\aliyunsdkcore\retry\retry_condition.py", line 219, in __init__ File "site-packages\aliyunsdkcore\utils\__init__.py", line 23, in _load_json_from_data_dir IOError: [Errno 2] No such file or directory: 'F:\\buckup_oss\\buckup_oss\\aliyunsdkcore\\data\\retry_config.json' [29088] Failed to execute script buckup_oss
又尝试手动导入aliyunsdkcore文件夹,打包项目可以运行。推测是生成配置文件路径错误。才疏学浅,没有调试出来。
后尝试安装其他版本的aliyunsdkcore,现使用aliyun-python-sdk-core-v3 2.9.4可以成功打包,并运行。
在使用阿里云OSS Python SDK并用PyInstaller打包时遇到错误。无论Python2还是Python3,打包都会报错。尝试不带--onefile参数打包,错误依然存在。推测可能是配置文件路径问题。最终通过更换aliyunsdkcore版本解决,现在可以成功打包并运行。
5350

被折叠的 条评论
为什么被折叠?



