我正在 Ubuntu 18.04 系统上为 Python 3.8 复制我的 Python 3.7 Conda 环境。我从一个简单的 jane Conda env 开始,python=3.8 作为唯一要求。然后我开始从我的 3.7 环境安装软件包。
大部分过程进行得很顺利,但 matplotlib 失败了。 Conda 搜索显示 matplotlib 的 3.8 版本,但 conda install 命令无法解析一组不冲突的包。 Numpy、ipython 等都安装得很好。在旋转了小多刺的东西之后,它提示道:
UnsatisfiableError: The following specifications were found to be incompatible with each other:
Package python conflicts for:
python=3.8
Package pip conflicts for:
python=3.8 -> pip
matplotlib -> python[version='>=3.7,<3.8.0a0'] -> pip
Package certifi conflicts for:
python=3.8 -> pip -> setuptools -> certifi[version='>=2016.09|>=2016.9.26']
Package wheel conflicts for:
python=3.8 -> pip -> wheel
matplotlib -> python[version='>=3.7,<3.8.0a0'] -> pip -> wheel
Package python-dateutil conflicts for:
matplotlib -> python-dateutil
Package ca-certificates conflicts for:
matplotlib -> setuptools -> ca-certificates
python=3.8 -> openssl[version='>=1.1.1d,<1.1.2a'] -> ca-certificates
Package setuptools conflicts for:
python=3.8 -> pip -> setuptools
matplotlib -> setuptools
我说不清是什么意思。也许 matplotlib 本身的版本依赖性不正确,或者没有用于 Python >= 3.8.0a0 的官方 matplotlib Conda 包? Conda 搜索表明应该有一些东西:
% conda search matplotlib
...
matplotlib 3.1.1 py38h5429711_0 pkgs/main
这是 conda 信息的输出:
active environment : python38
active env location : /home/skip/miniconda3/envs/python38
shell level : 2
user config file : /home/skip/.condarc
populated config files : /home/skip/.condarc
conda version : 4.8.1
conda-build version : not installed
python version : 3.7.3.final.0
virtual packages : __glibc=2.27
base environment : /home/skip/miniconda3 (writable)
channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /home/skip/miniconda3/pkgs
/home/skip/.conda/pkgs
envs directories : /home/skip/miniconda3/envs
/home/skip/.conda/envs
platform : linux-64
user-agent : conda/4.8.1 requests/2.22.0 CPython/3.7.3 Linux/4.15.0-74-generic ubuntu/18.04.3 glibc/2.27
UID:GID : 1000:1000
netrc file : /home/skip/.netrc
offline mode : False
不知道为什么它将 3.7.3 报告为 Python 版本。也许那是在根环境中?我显然安装了 3.8.1:
(python38) polly% python
Python 3.8.1 (default, Jan 8 2020, 22:29:32)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
最佳答案
截至 2020 年 3 月,不幸的是,您必须将 conda 可执行文件(在您的基本环境中)降级以安装 matplotlib。这是github discussion .
尝试这个:
conda activate
conda config --set allow_conda_downgrades true
conda install conda==4.6.14
conda create --name test_env
conda activate test_env
conda install matplotlib
这应该有效。
关于python - 无法在带有 Python 3.8 的 Conda env 中安装 matplotlib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59723500/