严重的是,我不知道怎么了。我的最低限度工作示例(具有管理访问权限的Windows 10 Pro,于2019-11-06更新):
- 最新安装的MiniConda(我使用“所有用户”)
- .condarc,按照conda-forge
channels:
- conda-forge
- defaults
channel_priority: strict
- conda create --name TEST
- conda激活测试
- conda安装枕头
- python -c“从PIL导入图像”
ImportError: DLL load failed while importing _imaging: The specified
module could not be found.
我在这里扯头发。我尝试过/注意到的事情:
- 尽管使用conda-forge strict,但
vc
和vc2015
软件包是从pkgs / main安装的。 - 我已通过基本环境升级,这触发了向conda-forge python的转换。但是,基本环境继续使用pkgs / main中的
vc
。 (据我所知,这是正确的行为,但是由于DLL加载失败以及vc / vc2015来自与软件包不同的存储库,我对此表示怀疑。) - 我确保所涉及的所有路径(包括基本安装路径和我的环境安装路径)都没有空格。
- 先进行
conda remove pillow --force
的入侵,然后pip install pillow
...有效吗?令我担心的是,因为我不知道为什么,而且我也不知道下游C是否会不兼容 - 如果重复上述说明,但不切换到conda forge,则不会发生错误。
注意:conda remove pillow
不能与--force
一起使用,因为在实际环境中,它将所有依赖包与所有依赖包一起使用,并且由于删除了所有未使用的依赖包,因此这些包将被带走。以上使用--force
的方法可以在原本良好的环境中直接替换枕头。