anaconda3 с установленной python3, но в новых средах по умолчанию python2 - PullRequest
0 голосов
/ 12 марта 2020

У меня проблемы с управлением средами с помощью conda. Моя базовая среда имеет много пакетов и по умолчанию python3

(base) stefan@4930:~/Dropbox/aPython$ python -V
Python 3.7.6

Когда я создаю новую среду, каким-то образом conda использует по умолчанию python2 из системы. Например, я создал среду с именем test. Он имеет полный набор пакетов, найденных в базовой среде. Но

(test) stefan@4930:~/Dropbox/aPython$ python -V
Python 2.7.17
(test) stefan@4930:~/Dropbox/aPython$ which python
/usr/bin/python

Почему это происходит?

Если я явно создаю среду с python3, тогда она использует python 3.8.1 в среде

base) stefan@4930:~/Dropbox/aPython$ conda activate test2
(test2) stefan@4930:~/Dropbox/aPython$ python -V
Python 3.8.1
(test2) stefan@4930:~/Dropbox/aPython$ which python
/home/stefan/anaconda3/envs/test2/bin/python

Разве установка Anaconda3 не должна быть здесь:

https://www.anaconda.com/distribution/#download-section

дать мне дистрибутив Anaconda с python3, если я скачаю версию python 3.7? (Кстати, он загружает файл с именем Anaconda3-2020.02- Linux -x86_64. sh)

Здесь есть аналогичный вопрос SO: Как по-прежнему использовать anaconda Python3 после активации Конда окружение?

но я не до конца понял ответ. На плакате с заявлением было указано

When you activate a conda environment, you'll use the Python version from that environment. 

Так почему же по умолчанию anaconda3 устанавливает python2 (система python) в качестве активного python, если мой путь имеет первую запись

(test) stefan@4930:~/Dropbox/aPython$ echo $PATH
/home/stefan/anaconda3/envs/test/bin:/home/stefan/anaconda3/condabin:/usr/local/texlive/2019/bin/x86_64-linux:/home/stefan/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/SageMath:/usr/local/cuda-10.1/bin
(test) stefan@4930:~/Dropbox/aPython$ python -V
Python 2.7.17

РЕДАКТИРОВАТЬ: ДОБАВЛЕНО ЗАПРОШЕННАЯ ИНФОРМАЦИЯ

$ conda create --name test
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/stefan/anaconda3/envs/test



Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate test
#
# To deactivate an active environment, use
#
#     $ conda deactivate

(base) stefan@4930:~/Dropbox/aPython$ conda activate test
(test) stefan@4930:~/Dropbox/aPython$ which python
/usr/bin/python
(test) stefan@4930:~/Dropbox/aPython$ conda deactivate
(base) stefan@4930:~/Dropbox/aPython$ which python
/home/stefan/anaconda3/bin/python
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...