You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL运行Python报ModuleNotFoundError: No module named 'PIL'

问题根因

PyCharm运行脚本时调用的是Windows主机侧的Python解释器,你安装的Pillow、wordcloud等依赖都部署在Windows的Python环境中。执行wsl ./Test.py时,脚本实际运行在WSL独立的Linux子系统环境内,两套环境的解释器、第三方依赖完全隔离,WSL环境中未安装Pillow(导入名为PIL)包,就会触发模块不存在的报错。

解决步骤
  • 进入WSL子系统终端
    在PowerShell中执行wsl命令,进入Linux子系统的命令行环境。
  • 确认WSL内的Python环境
    依次执行以下命令,确认当前默认的Python3、pip3路径和版本,避免后续依赖装到错误的环境里:
    which python3
    python3 --version
    which pip3
    
  • 安装缺失依赖
    先升级pip避免安装过程出现版本兼容问题,再安装脚本需要的Pillow和wordcloud包:
    pip3 install --upgrade pip
    pip3 install pillow wordcloud
    
    如果你用的是Ubuntu/Debian系WSL发行版,安装Pillow时出现编译报错,可以先执行sudo apt update && sudo apt install python3-pil安装系统源预编译的Pillow依赖,再执行pip安装命令即可。
  • 验证脚本运行
    安装完成后,在WSL终端内切换到Test.py所在路径:Windows磁盘在WSL中默认挂载在/mnt/路径下,比如原Windows路径C:\Users\xxx\Test.py对应的WSL路径是/mnt/c/Users/xxx/Test.py。切到对应目录后执行python3 ./Test.py,确认脚本可以正常运行。
    如果需要直接在PowerShell中通过wsl命令启动脚本,要写WSL格式的完整路径,示例:
    wsl python3 /mnt/c/Users/xxx/Test.py
    
常见避坑说明
  • 不要尝试直接复用Windows侧的Python虚拟环境或者第三方包到WSL中,Windows平台编译的二进制包和Linux环境不兼容,会触发各类导入、运行错误。
  • 如果你在PyCharm中用的是venv或者conda虚拟环境,WSL侧也需要单独创建独立的Linux虚拟环境,在虚拟环境内安装对应依赖后再运行脚本,不要和系统Python的包混装。

内容的提问来源于stack exchange,提问作者Bruno Ribeiro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 18:51:06