swift微调时报错AttributeError: module ‘lib‘ has no attribute ‘X509_V_FLAG_NOTIFY_POLICY‘
配置和重复安装,解决方法是调整路径优先级并删除多余的全局脚本。确保所有命令均在虚拟环境中执行,避免系统路径的干扰。在激活 Conda 虚拟环境后,运行。,导致脚本调用异常。命令时未正确指向虚拟环境下的。脚本,而是使用了系统全局路径。若输出帮助信息,说明问题已解决。
·
问题总结与解决方案:系统优先执行了错误的 swift
脚本
问题描述
在激活 Conda 虚拟环境后,运行 swift
命令时未正确指向虚拟环境下的 swift
脚本,而是使用了系统全局路径 /home/xxx/.local/bin/swift
,导致脚本调用异常。xxx为你的用户名
问题原因
PATH
环境变量优先级错误:/home/xxx/.local/bin
位于/home/xxx/miniconda3/envs/modelscope/bin
之前,系统在查找swift
命令时优先加载了全局路径中的脚本。- 多余的
swift
安装:全局路径/home/xxx/.local/bin/swift
存在冗余的swift
文件,与虚拟环境中的版本冲突。 - 此时当你使用which swift 得到的是系统路径
解决方法
1. 临时解决方法:调整 PATH
顺序
export PATH=/home/xxx/miniconda3/envs/modelscope/bin:$PATH
执行后,运行以下命令验证:
which swift
输出应为:
/home/xxx/miniconda3/envs/modelscope/bin/swift
2. 永久解决方法:修改 ~/.bashrc
文件 编辑 ~/.bashrc
文件,将 Conda 环境路径提升优先级:
nano ~/.bashrc
添加以下内容至文件末尾:
export PATH=/home/caopb/miniconda3/envs/modelscope/bin:$PATH
保存并使更改生效:
source ~/.bashrc
3. 删除多余的 swift
脚本 确认是否需要 /home/caopb/.local/bin/swift
,如果无用,可以删除:
rm -f /home/caopb/.local/bin/swift
4. 检查 swift
安装来源 在虚拟环境中,检查 swift
是否正确安装:
conda activate modelscope
pip show ms-swift
如果显示路径不是虚拟环境,重新安装:
pip uninstall swift ms-swift -y
pip install ms-swift
验证
重新激活虚拟环境并运行:
swift --help
若输出帮助信息,说明问题已解决。
结论
该问题源于 PATH
配置和重复安装,解决方法是调整路径优先级并删除多余的全局脚本。确保所有命令均在虚拟环境中执行,避免系统路径的干扰。
更多推荐
所有评论(0)