WSL环境下重新安装Python3并设置默认调用非同步目录下依赖包
你通过Windows安装程序卸载重装的是Windows原生的Python,和WSL子系统内的Python环境完全隔离,所以不会生效。以下是具体的解决方案:
解决方案步骤
1. 先验证当前Python环境的搜索优先级
执行以下命令确认当前Python3的调用路径和模块搜索顺序:
# 确认当前python3指向的二进制文件路径 which python3 # 打印当前Python的模块搜索路径,越靠前优先级越高 python3 -c "import sys; print('\n'.join(sys.path))"
执行后可以看到同步盘的路径是否排在你预期的/mnt/usr/local/lib/python3.6/前面。
2. 临时测试路径修改是否生效
在终端执行以下命令临时修改模块搜索优先级,测试问题是否解决:
export PYTHONPATH=/mnt/usr/local/lib/python3.6/site-packages:$PYTHONPATH
修改后直接运行你的.py脚本,确认导入报错是否消失。
3. 永久生效配置
如果临时测试可行,将配置写入shell的启动文件实现永久生效:
- 如果你使用默认的bash shell,编辑
~/.bashrc文件,在末尾添加以下内容:
export PYTHONPATH=/mnt/usr/local/lib/python3.6/site-packages:$PYTHONPATH # 如果需要指定python3指向固定版本,可以额外加下面这行,替换为你实际的Python二进制路径 # alias python3="/usr/bin/python3.6"
保存后执行source ~/.bashrc让配置立即生效。
- 如果你使用zsh shell,将上述内容添加到
~/.zshrc,之后执行source ~/.zshrc生效。
可选:避免后续pip安装包到同步盘
修改pip的默认安装路径,编辑~/.pip/pip.conf(没有就新建),添加以下配置:
[global] target = /mnt/usr/local/lib/python3.6/site-packages
后续执行pip3 install时就会默认把包装到你指定的本地目录下。
内容的提问来源于stack exchange,提问作者user66091
相关产品推荐
相关产品推荐

