Ubuntu安装Python包后终端无法识别执行路径的问题如何解决?
Ubuntu下pip安装Python包后找不到执行命令的解决方案
问题原因
使用非root权限执行pip install安装Python包时,包的可执行脚本默认会安装到当前用户的~/.local/bin目录,该目录默认未加入系统PATH环境变量,导致终端无法找到对应执行命令,就会触发你看到的警告:
WARNING: The script virtualenv is installed in '/home/famirqfr/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
解决方案
方案1:永久将~/.local/bin加入PATH(推荐)
该方案不会修改系统Python环境,仅对当前用户生效,一劳永逸解决所有pip用户安装包的命令调用问题:
- 第一步:编辑当前用户的shell配置文件,常用shell对应配置文件如下:
- bash(Ubuntu默认shell):
~/.bashrc - zsh:
~/.zshrc
以bash为例,执行编辑命令:nano ~/.bashrc
- bash(Ubuntu默认shell):
- 第二步:拉到文件最末尾,添加如下内容:
export PATH="$HOME/.local/bin:$PATH" - 第三步:保存退出编辑,nano编辑器操作流程为:按
Ctrl+O,回车确认保存,再按Ctrl+X退出 - 第四步:执行命令让配置立即生效:
source ~/.bashrc(zsh用户对应改为source ~/.zshrc) - 验证:执行
virtualenv --version,正常输出版本号即配置成功
方案2:临时生效(仅对当前终端窗口有效)
如果只是临时需要调用命令,不想修改配置文件,直接在当前终端执行如下命令即可:
export PATH="$HOME/.local/bin:$PATH"
关闭当前终端后配置就会失效。
方案3:全局安装(不推荐)
如果需要所有用户都能调用该命令,可以使用root权限安装,执行:
sudo pip install virtualenv
该方式会将包安装到系统全局PATH目录,但会修改系统默认Python环境,容易和系统自带的Python工具产生版本冲突,非必要不建议使用。
补充说明
警告中提到的--no-warn-script-location参数仅能隐藏警告提示,不会解决找不到命令的问题,如果你不需要调用该包的可执行命令,可以添加该参数安装。
内容的提问来源于stack exchange,提问作者Amirmohammad Qaffari
相关产品推荐
相关产品推荐

