Конда не использует пакет установлен, но использует пакет извне

У меня проблема, когда я использую среду conda.

Я создаю среду просто:

conda create -n NAME python==3.5

Итак, есть виртуальная среда Python 3.5. Затем я вхожу в виртуальную среду и устанавливаю tenorflow-gpu с помощью:

conda install tensorflow-gpu

Теперь я вижу пакет tenorflow-gpu вместе с cudatoolkit и cudnn. Но когда я запускаю простую программу, она просто не может использовать gpu. Я не думаю, что это проблема или пакет драйвера nvidia из разных ресурсов, потому что он работает в старой среде conda, но когда я создаю новую, это не удается.

Более интересным будет то, что он будет использовать пакет (tennsrt и uff) извне окружающей среды.

Когда я создаю новую среду с python 3.6.Это работает, как и ожидалось, используя tenorflow-gpu и не может импортировать пакет, который не установлен в среде.

Кто-нибудь знает, как решить проблему?

Ubuntu 16.04

Tensorflow 1.8.0

Python 3.5 и 3.6

TensorRT 5.0.0.10

1 ответ

Ну, я исправил это. Эта проблема, оказывается, в среде conda добавлен путь из локального и импортированный пакет из локального пути вместо среды.

Если вы столкнулись с той же проблемой. Попробуйте открыть python в вашей среде conda:

python

и проверьте системный путь:

import sys
print(sys.path)

если есть библиотека извне, просто удалите ее, используя:

rm -r ~/PATH

Эта проблема может возникнуть из-за непреднамеренного добавления пути в какой-либо программе.

Надеюсь, это поможет.

Это также происходит, если вы используете ноутбук Jupyter. Например, если у вас установлена ​​записная книжка jupyter и ТОГДА создается ваша среда, записная книжка jupyter находится вне среды и игнорирует все пакеты, установленные в вашей среде. Мне нужно было установить ноутбук Jupyter в каждую среду, которую я создал, чтобы эти ошибки не возникали.

Другие вопросы по тегам