在部署SAM2时,执行pip install -e . 报错了,如下所示:
(SAM2) D:\11\work\SAM_2\segment-anything-2-main>pip install -e .
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Obtaining file:///D:/11/work/SAM_2/segment-anything-2-main
Installing build dependencies ... done
Checking if build backend supports build_editable ... done
Getting requirements to build editable ... error
error: subprocess-exited-with-error
× Getting requirements to build editable did not run successfully.
│ exit code: 1
╰─> [17 lines of output]
Traceback (most recent call last):
File "D:\22\soft\Anaconda3\envs\SAM2\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
main()
File "D:\22\soft\Anaconda3\envs\SAM2\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "D:\22\soft\Anaconda3\envs\SAM2\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 132, in get_requires_for_build_editable
return hook(config_settings)
File "C:\Users\33\AppData\Local\Temp\pip-build-env-4rgriv6d\overlay\Lib\site-packages\setuptools\build_meta.py", line 458, in get_requires_for_build_editable
return self.get_requires_for_build_wheel(config_settings)
File "C:\Users\33\AppData\Local\Temp\pip-build-env-4rgriv6d\overlay\Lib\site-packages\setuptools\build_meta.py", line 327, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=[])
File "C:\Users\33\AppData\Local\Temp\pip-build-env-4rgriv6d\overlay\Lib\site-packages\setuptools\build_meta.py", line 297, in _get_build_requires
self.run_setup()
File "C:\Users\33\AppData\Local\Temp\pip-build-env-4rgriv6d\overlay\Lib\site-packages\setuptools\build_meta.py", line 313, in run_setup
exec(code, locals())
File "<string>", line 21, in <module>
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 7493: illegal multibyte sequence
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× Getting requirements to build editable did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
分析了一下原因:
python中的open函数,默认是以GBK格式读文件,而我的文件的格式是UTF-8
所以打开set.py,添加,encoding=‘utf-8’,修改 open如下:
with open("README.md", "r") as f:
with open("README.md", "r", encoding='utf-8') as f:
OK 成功解决