конфликт с использованием conda и pip в среде Miniconda - PullRequest
0 голосов
/ 26 июня 2019

Я обнаружил, что если я попытаюсь установить tqdm в среде Miniconda (pip insall tqdm), произойдет сбой, и ошибка будет сохранена и для других библиотек, поиск по которым pip

Обновление

Я перепробовал множество тестов, и я пришел к выводу, что conda и pip конфликты установки в среде miniconda .

Шаг для воспроизведения:

conda create --name mlvision 

test: есть ли здесь pandas и fastai?

pip install pandas > pandas is there

теперь попробуйте установить opencv через conda

conda install opencv
[..]

сейчасесли я попытаюсь pip install, я получу ошибку:

pip install pandas
Collecting pandas
  Using cached https://files.pythonhosted.org/packages/fc/43/fd867e3347559845c8f993059d410c50a1e18709f1c4d4b3b47323a06a37/pandas-0.24.2-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
dyld: lazy symbol binding failed: Symbol not found: _fdopendir$INODE64
  Referenced from: /Users/gg4u/Sites/miniconda3/envs/mlvision/bin/python
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _fdopendir$INODE64
  Referenced from: /Users/gg4u/Sites/miniconda3/envs/mlvision/bin/python
  Expected in: /usr/lib/libSystem.B.dylib

Все установки через pip теперь прерваны:

pip install fastai
Collecting fastai
  Using cached https://files.pythonhosted.org/packages/7d/14/385382da888f7e3ba24c726d95ea05563eb5e984ed97d5a24e74197f7848/fastai-1.0.54-py3-none-any.whl
dyld: lazy symbol binding failed: Symbol not found: _fdopendir$INODE64
  Referenced from: /Users/gg4u/Sites/miniconda3/envs/mlvision/bin/python
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _fdopendir$INODE64
  Referenced from: /Users/gg4u/Sites/miniconda3/envs/mlvision/bin/python
  Expected in: /usr/lib/libSystem.B.dylib

также:

pip install --upgrade pip
Requirement already up-to-date: pip in ./envs/mlvision/lib/python3.7/site-packages (19.1.1)
dyld: lazy symbol binding failed: Symbol not found: _fdopendir$INODE64
  Referenced from: /Users/gg4u/Sites/miniconda3/envs/mlvision/bin/python
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _fdopendir$INODE64
  Referenced from: /Users/gg4u/Sites/miniconda3/envs/mlvision/bin/python
  Expected in: /usr/lib/libSystem.B.dylib

Trace/BPT trap: 5

Iпришёл к выводу, что установка conda может конфликтовать с установкой pip ...

не уверен, если только при использовании conda install opencv

Обнаруженный мной способ - это установить opencv как последний пакет, после его использования я могуотсутствует ссылка:

Expected in: /usr/lib/libSystem.B.dylib

и поэтому я должен установить все пакеты сначала через pip, а затем через opencv ...

Как решить conflicts в локальной среде conda?

Пытался посмотреть https://github.com/ContinuumIO/anaconda-issues/issues/1429, но пока не смог решить проблему.

Я не могу приступить к установке всех необходимых мне пакетов (некоторые через condaнекоторые через pip)


обратите внимание, что python правильно указывает на локальный env:

which python
[your path]/miniconda3/envs/mlvision/bin/python

conda --version conda 4.7.5

с использованием Mac OS Maverick 1.9.5 (если это имеет значение)

1 Ответ

0 голосов
/ 30 июня 2019

Не смешивайте pip с conda, если можете помочь. Получите все вы можете из conda первым. Затем используйте pip только для установки пакетов, которые вы не можете получить от conda.

Пакеты conda Установки создаются с помощью цепочки инструментов Anaconda. И у них есть зависимости, которые гарантируют, что они также были созданы с помощью совместимого набора инструментов Anaconda. Если вы смешиваете вещи с pip, он может устанавливать скомпилированные библиотеки, которые не совместимы с требованиями пакетов Anaconda.

...