Среды Conda включают пакеты из разных сред - PullRequest
0 голосов
/ 09 июля 2020

Привет всем, у меня странная проблема с пакетами, установленными через pip в средах conda. Я хочу настроить две среды conda: env1 и env2 , используя файлы yml, например, следующие (только пакеты, установленные через pip, варьируются в env2 )

name: env1

channels:
  - defaults
  - anaconda-fusion

dependencies:
  - cudatoolkit=9.0=1
  - cudnn=7.6.0=cuda9.0_0
  - pip=19.1.1
  - python=3.6.5
  - shapely==1.6.4
  - pip:
    - argparse==1.4.0
    - BeautifulSoup4==4.7.1
    - cython==0.28.5
    - h5py==2.9.0
    - imageio==2.5.0
    - imgaug==0.2.9
    - imutils==0.5.2
    ...

Если я установлю env1 все работает нормально. Активация env1 и ввод pip list -v показывает, что все пакеты находятся в C: \ ProgramData \ Anaconda3 \ envs \ env1 \ Lib \ site-packages как этому следовало быть. Теперь я деактивирую env1 и устанавливаю env2 , и именно здесь возникает проблема. Желательно, чтобы все пакеты, перечисленные в yml env2 , устанавливались отдельно для env2 и располагались в C: \ ProgramData \ Anaconda3 \ envs \ env2 \ Lib \ сайт-пакеты . Вместо этого все пакеты, которые также находятся в env1 , считаются уже установленными, и только напоминание установлено в env2 . Активация env2 и ввод pip list -v показывает все пакеты, которые мне нужны, но большинство из них находятся в C: \ ProgramData \ Anaconda3 \ envs \ env1 \ Lib \ site-packages и только «новые» в C: \ ProgramData \ Anaconda3 \ envs \ env2 \ Lib \ site-packages . Похоже, что env2 имеет видимость или доступ к env1 . Это крайне нежелательно и вызывает особенно серьезные проблемы, если env1 и env2 имеют одинаковые пакеты с разными версиями. Переустановка Анаконды не прошла. Я также не смог найти никаких подозрительных записей в переменных окружения. Есть какие-нибудь полезные мысли или идеи? Буду признателен.

Edit: Хотел бы добавить, что вся процедура отлично работает на нескольких других системах. Что могло вызвать ошибку в одной конкретной системе c?

...