Python3.9已安装websockets仍提示No module named websockets如何解决
Python3.9无法找到已安装的websockets库解决方法
核心原因
你调用的pip3默认绑定的是其他Python实例,安装的websockets库存放在用户本地站点包目录,和你当前使用的/opt/python/3.9.6/bin/python3的模块搜索路径不匹配,因此解释器无法找到已安装的库。
方案1:直接用目标解释器安装库(最稳妥,优先选择)
直接调用你正在使用的Python3.9解释器执行pip安装,会自动将库安装到该解释器对应的站点包目录,不会出现路径不匹配问题,执行命令:
/opt/python/3.9.6/bin/python3 -m pip install websockets
如果安装时提示权限不足,可在命令末尾添加--user参数安装到当前用户目录,或添加sudo执行全局安装。
方案2:将已安装的库路径加入Python模块搜索路径
如果不想重复安装已有的websockets库,可以手动把现有库的路径加入解释器的搜索范围,分两种生效方式:
- 临时生效(仅当前运行的代码生效):在代码最开头的导入语句前添加以下代码:
import sys sys.path.append("./.local/lib/python3.9/site-packages")
- 永久生效(对当前用户所有Python3.9运行实例生效):打开你当前使用的shell的配置文件(bash对应
~/.bashrc,zsh对应~/.zshrc),在末尾添加一行:
export PYTHONPATH="./.local/lib/python3.9/site-packages:$PYTHONPATH"
保存后执行source ~/.bashrc(对应你使用的shell)使配置立即生效。
方案3:绑定pip3到目标Python解释器(避免后续再出现同类问题)
在shell配置文件末尾添加别名,将pip3命令直接绑定到你使用的Python3.9解释器对应的pip实例:
alias pip3="/opt/python/3.9.6/bin/python3 -m pip"
保存后执行source命令生效,后续所有pip3 install操作都会自动将库安装到该解释器对应的站点包目录,不会再出现路径不匹配问题。
内容的提问来源于stack exchange,提问作者tjsmert44
相关产品推荐
相关产品推荐

