使用python本地部署deepseek,导入依赖包 transformers 时报错 oserror: [winerror 193] %1 不是有效的 win32 应用程序。
from transformers import autotokenizer, automodelforcausallm
报错内容如下:
traceback (most recent call last):
file "e:\projects\www.i075.com\deepseek-1.5b.py", line 1, in <module>
from transformers import autotokenizer, automodelforcausallm
file "d:\program files\python38\lib\site-packages\transformers\__init__.py", line 26, in <module>
from . import dependency_versions_check
file "d:\program files\python38\lib\site-packages\transformers\dependency_versions_check.py", line 16, in <module>
from .utils.versions import require_version, require_version_core
file "d:\program files\python38\lib\site-packages\transformers\utils\__init__.py", line 37, in <module>
from .generic import (
file "d:\program files\python38\lib\site-packages\transformers\utils\generic.py", line 29, in <module>
import numpy as np
file "c:\users\administrator\appdata\roaming\python\python38\site-packages\numpy\__init__.py", line 139, in <module>
from . import _distributor_init
file "c:\users\administrator\appdata\roaming\python\python38\site-packages\numpy\_distributor_init.py", line 26, in <module>
windll(os.path.abspath(filename))
file "d:\program files\python38\lib\ctypes\__init__.py", line 373, in __init__
self._handle = _dlopen(self._name, mode)
oserror: [winerror 193] %1 不是有效的 win32 应用程序。
process finished with exit code 1
直接复制错误信息“oserror: [winerror 193] %1 不是有效的 win32 应用程序。”到网上各种查找资料,最终得到的结果大多是:
一个可能的原因是python是32位的,dll是64位的,可以安装64位的python,也可以将dll换成32位的。
没有实质的解决办法 ,或者按照这种解决办法操作过之后问题依旧。
没办法,自己研究吧。
看了报错的详细信息,是跟依赖包 numpy 相关。
场景对比
python3.8环境是新装的,然后随即使用 pip install transformers 安装了相关依赖,而 numpy 是在安装 transformers 时一并安装的。
对比我本地的 python3.7环境,运行 transformers 相关代码时没有遇到这样的问题。numpy 是先于transformers 安装的
问题复现
新建 test.py,代码只有一句话 import numpy as np,运行,报同样的错误。
有点儿眉目了,大概率和 numpy 版本有关系。
解决办法
使用命令先卸载 numpy,再重新单独安装 numpy。
pip uninstall numpy pip install numpy
安装完成,显示如下:
问题验证
运行 test.py,结果没有报错
"d:\program files\python38\python.exe" e:\projects\www.i075.com\ai\test.py process finished with exit code 0
然后执行 deepseek 相关代码,完美运行!
到此这篇关于使用python本地部署deepseek,运行时报错 oserror: [winerror 193] %1 不是有效的 win32 应用程序。的文章就介绍到这了,更多相关python本地部署deepseek 报错 oserror: [winerror 193] %1 内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论