在我的 conda 环境中导入 matplotlib 时出现导入错误:无法从'PIL'导入名称'_imaging'



我是该领域的新手,很抱歉可能出现愚蠢的错误。我正在使用snakemake,所以我按照他们的指示创建了一个conda环境:

conda install -c conda-forge mamba
mamba create -c conda-forge -c bioconda -n snakemake snakemake

然而,当我运行基本教程(在此处输入链接描述(时,出现了ModuleNotFoundError:

snakemake --cores 1

ModuleNotFoundError:没有名为"matplotlib"的模块

因此,我安装了带有conda-forge:的matplotlib

conda install -c conda-forge matplotlib 

然而,当我重新运行教程时,我得到了一个ImportError:

ImportError:无法从"PIL"(/usr/lib/python3/dist-packages/PIL/init.py(导入名称"_imaging"所以我决定在同样的conda环境中安装枕头:

conda install -c conda-forge pillow 

但我在运行教程时遇到了同样的错误。

所有导入的包都来自我的conda环境:

anaconda3/envs/snakemake/lib/python3.9/site-packages

除了从导入的PIL/枕头的路径

usr/lib/python3/dist包

我还更新了我的snakemake环境中的conda、anaconda和所有包。此外,我用conda列表检查了PIL的存在,它实际上存在于我的snakemake环境中,与其他包(anaconda3/envssnakemake/lib/python3.9/site包(的路径相同。

我注意到,在其他问题中,建议卸载并重新安装Pillow。然而,当我尝试卸载时:

pip uninstall Pillow

pip3 uninstall Pillow

我获得:

权限错误:[Erno 13]Permesso negato:'BlpImagePlugin.cpython-38.pyc'

因此,我试图强制升级:

pip install -U Pillow --user

pip3 install -U Pillow --user

终端显示我已成功安装Pillow 8.0.1。然而,当我导入matplotlib时,会发生同样的错误:

ImportError:无法从"PIL"(/usr/lib/python3/dist-packages/PIL/init.py(导入名称"_imaging">

我很感激您的提示谢谢

我想您错过了教程设置中的一部分(https://snakemake.readthedocs.io/en/stable/tutorial/setup.html)。在步骤2中,您下载environment.yaml并使用它来安装所有需要的软件包。或者你可以尝试自己安装所有的软件包,查看";要求";。

已解决从系统PIL包卸载:

sudo apt-get remove python-pil

我仍然不知道为什么它能工作,但至少现在我可以正确地使用matplotlib

最新更新