.\build_win.bat 'python' 不是内部或外部命令,也不是可运行的程序 或批处理文件。& 无法创建该文件。:.\\deepspeed\\ops

297 阅读3分钟

DeepSpeed安装失败

问题

遇到的问题:

FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: '.\deepspeed\ops\op_builder`

FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: '.\deepspeed\ops\csrc`

可能的解决方法如下:

STEP1:进入报错的路径DeepSpeed\deepspeed\ops

STEP2:把以下两个文件夹拖出去csrc,op_builder或许就可以解决问题了

楼主完整的解决过程:

遇到了额外的问题:

C:\Users\Administrator\Desktop\ChatGLM3\basic_demo\DeepSpeed> .\build_win.bat 'python' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

解决方法如下:

STEP1:检查是否python路径正确

打开命令提示符(CMD)。

输入 python --versionpy --version

(base) C:\Users\Administrator>python --version Python 3.11.9

路径正确

STEP2:确保 build_win.bat 文件正确调用了 Python。

理论上这个文件夹应该存在在这个路径下:.\DeepSpeed

cmd

输入:(base) C:\Users\Administrator>where python 输出:C:\ProgramData\anaconda3\python.exe

打开build_win.bat将其修改:

 set DISTUTILS_USE_SDK=1
 ​
 set DS_BUILD_AIO=0
 set DS_BUILD_CUTLASS_OPS=0
 set DS_BUILD_EVOFORMER_ATTN=0
 set DS_BUILD_FP_QUANTIZER=0
 set DS_BUILD_INFERENCE_CORE_OPS=0
 set DS_BUILD_RAGGED_DEVICE_OPS=0
 set DS_BUILD_SPARSE_ATTN=0
 set DS_BUILD_TRANSFORMER_INFERENCE=0
 ​
 C:\ProgramData\anaconda3\python.exe setup.py bdist_wheel
 ​
 :end```

“已解决”(因为报错其他的了,乐):

PS C:\Users\Administrator\Desktop\ChatGLM3\basic_demo\DeepSpeed> .\build_win.bat

[WARNING] Torch did not find cuda available, if cross-compiling or running with cpu only you can ignore this message. Ad ding compute capability for Pascal, Volta, and Turing (compute capabilities 6.0, 6.1, 6.2) DS_BUILD_OPS=0 Install Ops={'deepspeed_not_implemented': False, 'deepspeed_ccl_comm': False, 'deepspeed_shm_comm': False, 'cpu_adam': F alse, 'fused_adam': False} Traceback (most recent call last): File "C:\Users\Administrator\Desktop\ChatGLM3\basic_demo\DeepSpeed\setup.py", line 213, in shutil.copytree('.\op_builder', '.\deepspeed\ops\op_builder') File "C:\ProgramData\anaconda3\Lib\shutil.py", line 573, in copytree return _copytree(entries=entries, src=src, dst=dst, symlinks=symlinks, ^^^^^^^^^^^^^^^^^^^^^ File "C:\ProgramData\anaconda3\Lib\shutil.py", line 471, in _copytree os.makedirs(dst, exist_ok=dirs_exist_ok) File "", line 225, in makedirs FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: '.\deepspeed\ops\op_builder'

简而言之:

FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: '.\deepspeed\ops\op_builder'

回到了最初的起点

STEP3解决文件存在

STEP3.1:进入报错的路径DeepSpeed\deepspeed\ops

STEP3.2:把以下两个文件夹拖出去csrc , op_builder或许就可以解决问题了

成功后的显示内容:

.....

adding 'deepspeed/utils/zero_to_fp32.py' adding 'deepspeed-0.14.5+d89e8cdf.data/scripts/deepspeed' adding 'deepspeed-0.14.5+d89e8cdf.data/scripts/deepspeed.pt' adding 'deepspeed-0.14.5+d89e8cdf.data/scripts/ds' adding 'deepspeed-0.14.5+d89e8cdf.data/scripts/ds_bench' adding 'deepspeed-0.14.5+d89e8cdf.data/scripts/ds_elastic' adding 'deepspeed-0.14.5+d89e8cdf.data/scripts/ds_report' adding 'deepspeed-0.14.5+d89e8cdf.data/scripts/ds_ssh' adding 'deepspeed-0.14.5+d89e8cdf.data/scripts/dsr' adding 'deepspeed-0.14.5+d89e8cdf.dist-info/LICENSE' adding 'deepspeed-0.14.5+d89e8cdf.dist-info/METADATA' adding 'deepspeed-0.14.5+d89e8cdf.dist-info/WHEEL' adding 'deepspeed-0.14.5+d89e8cdf.dist-info/entry_points.txt' adding 'deepspeed-0.14.5+d89e8cdf.dist-info/top_level.txt' adding 'deepspeed-0.14.5+d89e8cdf.dist-info/RECORD' removing build\bdist.win-amd64\wheel deepspeed build time = 11.571576833724976 secs PS C:\Users\Administrator\Desktop\ChatGLM3\basic_demo\DeepSpeed>

检验语句:

python -c "import deepspeed; print(deepspeed.__version__)"

我是输出的:

(base) C:\Users\Administrator\Desktop\ChatGLM3\basic_demo\DeepSpeed>python -c "import deepspeed; print(deepspeed.version)" [2024-06-28 17:33:40,804] [WARNING] [real_accelerator.py:162:get_accelerator] Setting accelerator to CPU. If you have GPU or other accelerator, we were unable to detect it. [2024-06-28 17:33:42,584] [INFO] [real_accelerator.py:203:get_accelerator] Setting ds_accelerator to cpu (auto detect) [2024-06-28 17:33:44,037] [WARNING] [real_accelerator.py:162:get_accelerator] Setting accelerator to CPU. If you have GPU or other accelerator, we were unable to detect it. [2024-06-28 17:33:44,037] [INFO] [real_accelerator.py:203:get_accelerator] Setting ds_accelerator to cpu (auto detect) W0628 17:33:44.904000 9536 torch\distributed\elastic\multiprocessing\redirects.py:27] NOTE: Redirects are currently not supported in Windows or MacOs. 0.14.5+d89e8cdf

GPT:

成功显示 deepspeed 的版本号表明 deepspeed 已成功安装。

Python|Windows 安装 DeepSpeed 安装方法及报错 Unable to pre-compile async_io 处理_windows10 安装pip install deepspeed 报错-CSDN博客

(楼主是在按照一个b站up教程做的时候,发现出现了这个BUG,顺便贴一下原视频原资料) 29 大模型并行训练框架DeepSpeed(下)哔哩哔哩bilibili