Неправильная версия в пипсах для анаконды. Что я должен сделать, чтобы исправить версию pip при активации env с помощью `conda activ`? - PullRequest
0 голосов
/ 14 июня 2019

У меня есть 4 envs в моей анаконде, как указано ниже.

>>> conda info --envs
base                     /home/gph/anaconda3
py36_torch0.4         *  /home/gph/anaconda3/envs/py36_torch0.4
py37_torch1.1            /home/gph/anaconda3/envs/py37_torch1.1
python3.6                /home/gph/anaconda3/envs/python3.6

В обоих py36_torch0.4 и py37_torch1.1 я провел некоторый тест.

>>>(py36_torch0.4) gph@gph-1050Ti:~ $ whereis pip
pip: /home/gph/.local/bin/pip3.5 
/home/gph/.local/bin/pip 
/home/gph/anaconda3/envs/py36_torch0.4/bin/pip3.6 
/home/gph/anaconda3/envs/py36_torch0.4/bin/pip

(py36_torch0.4) gph@gph-1050Ti:~ $ pip -V
pip 19.1.1 from /home/gph/.local/lib/python3.5/site-packages/pip (python 3.5)

(py37_torch1.1) gph@gph-1050Ti:~ $ whereis pip
pip: /home/gph/.local/bin/pip3.5 
/home/gph/.local/bin/pip 
/home/gph/anaconda3/envs/py37_torch1.1/bin/pip

(py37_torch1.1) gph@gph-1050Ti:~ $ pip -V
pip 19.1.1 from /home/gph/.local/lib/python3.5/site-packages/pip (python 3.5)

Мы можем видетьчто для каждого env_name у нас есть envs/env_name/bin/pip, но вывод pip -V всегда равен /home/gph/.local/lib/python3.5/site-packages/pip (python 3.5).
Что не так?Что я должен сделать, чтобы сделать версию pip верной, когда активировал конкретный env?

Я попытался сбросить PYTHONPATH, как сказано в этом вопросе: Неправильный pip в conda env .Но это бесполезно.

Ответы [ 2 ]

1 голос
/ 20 июня 2019

Используйте pip в качестве модуля, вызываемого интерпретатором Python вашей среды env.

python -m pip install some_package, где python - это активный в вашей среде env, например /home/gph/anaconda3/envs/python3.6/bin/python.

1 голос
/ 20 июня 2019

Вы установили pip вне среды conda, прямо в свой домашний каталог. Это имеет приоритет над всем, что установлено в conda.

Если вы хотите извлечь выгоду из изоляции сред conda, вы не можете устанавливать пакеты на уровне пользователя. Это избавит их от всех (но, возможно, и от некоторых):

rm -rf /home/gph/.local

Возможно, вы захотите взглянуть на то, что еще установлено в /home/gph/.local, прежде чем фактически удалить его.

...