Я копирую свою Python 3.7 среду Conda для Python 3.8 в системе Ubuntu 18.04. Я начал с простой jane Conda env с python = 3.8 в качестве единственного требования. Затем я начал устанавливать пакеты из своей среды 3.7.
Большая часть процесса прошла гладко, но matplotlib не удалось. Поиск Conda показывает версию 3.8 matplotlib, но команда conda install не может разрешить бесконфликтный набор пакетов. Numpy, i python, et c все установлено нормально. После долгого вращения этой маленькой штуки она жалуется:
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, или нет официального пакета conda matplotlib для Python> = 3.8.0a0? Поиск 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. Возможно, это в среде root? У меня явно 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.
>>>