Почему использование пипа в виртуальной среде conda дает глобальный эффект? - PullRequest
0 голосов
/ 22 апреля 2020

ранее я установил тензор потока 1.13 на моей машине. Существуют некоторые проекты, зависящие от разных версий tenorflow, и я не хочу смешивать разные версии tenowflow.

Поэтому я просто попытался создать env с именем tf2.0 и использовал pip для установки tenorflow 2.0.0b1 в это определяет c виртуальную среду.

Однако после того, как я запустил 'pip install tenorflow-gpu == 2.0.0b1` в этой среде "tf2.0" conda, я обнаружил, что она действует глобально, что значит, мне нужно использовать tenorflow-gpu 2.0.0b1, даже если этот виртуальный env "tf2.0" деактивирован.

I wi sh Я мог бы использовать тензор потока 1.13, когда виртуальный env деактивирован.

Ответы [ 3 ]

0 голосов
/ 24 апреля 2020

В основном вы использовали неправильный пункт. Чтобы убедиться, что вы используете правильный pip, обычно рекомендуется сделать

python -m pip install —user PACKAGE_NAME

Учитывая, что у вас есть conda, pip должен быть последним средством.
Канал Conda, скорее всего, conda-forge имеет последняя версия пакета, которую вы ищете.

conda install -c conda-forge PACKAGE_NAME

Если вам нужно использовать pip, убедитесь, что вы находитесь в среде, и эта среда имеет свой собственный pip.

conda create -n test python=3.7 
conda activate test
python -m pip install PACKAGE_NAME
0 голосов
/ 24 апреля 2020

Исходя из описанной вами проблемы, я могу предположить, что ваша среда не активирована, в которой вы пытаетесь установить tenorflow2.0

Пожалуйста, убедитесь, что среда активирована после ее создания.

так что после создания среды сделайте это -

conda activate tf2.0

убедитесь, что вы видите это

(tf2.0) C:\Users\XYZ>

И затем вы устанавливаете ваш тензор потока.

0 голосов
/ 22 апреля 2020

Трудно устранить неполадки описанных условий без более подробной информации (точные команды выполняются, показывая PATH до и после и после активации и т. Д. c.). Тем не менее, вы можете попробовать перейти на следующие самые последние рекомендации по смешиванию Conda и Pip . А именно, избегайте установки вещей ad ho c, которые склонны использовать неправильные pip и блокирующие пакеты, но вместо этого определяйте файл YAML и всегда создавайте весь env в одном go.

В качестве минимального примера:

my_env.yaml

name: my_env
channels:
 - defaults
dependencies:
 - python
 - pip
 - pip:
   - tensorflow-gpu==2.0.0b1

, который можно создать с помощью conda env create -f my_env.yaml. Как правило, лучше всего включить все, что возможно, в раздел «non-pip» зависимостей.

...