Моя консоль ipython в Spyder (Anaconda) не выбирает правильные переменные окружения PATH системы Windows - PullRequest
0 голосов
/ 30 ноября 2018

Прежде всего, очень оригинальная проблема возникла из-за того, что я пытался установить Tensorflow GPU.

Для начала я сначала установил все зависимые пакеты (драйвер графического процессора Nvidia, CUDA, cudnn и т. Д.), Свежий пакет Anaconda и tenorflow-gpu.Пока все хорошо.

Затем я запустил IDE Spyden и попытался запустить «импорт тензорного потока» в ipython.Затем я получил эту ошибку:

Traceback (most recent call last):

  File "<ipython-input-1-d6579f534729>", line 1, in <module>
    import tensorflow

  File "C:\Users\zhengxin\Anaconda3\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import

  File "C:\Users\zhengxin\Anaconda3\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow

  File "C:\Users\zhengxin\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in <module>
    raise ImportError(msg)

ImportError: Traceback (most recent call last):
  File "C:\Users\zhengxin\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "C:\Users\zhengxin\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "C:\Users\zhengxin\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "C:\Users\zhengxin\Anaconda3\lib\imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "C:\Users\zhengxin\Anaconda3\lib\imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: The specified module could not be found.


Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/errors

for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

Затем я провел много исследований и обнаружил, что наиболее вероятной причиной этой ошибки является то, что следующие два пути НЕ находятся в переменной среды PATH, отображаемой в Spyder.(ipython).

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp

Очень странная вещь состоит в том, что эти два пути действительно существуют в системной переменной окружения PATH моего окна.

Итак, наконец, мой вопрос: почему Spyder/ ipython / anaconda не выбирает переменные окружения PATH в Windows?

1 Ответ

0 голосов
/ 01 декабря 2018

ОК, я решил эту проблему сам.

Тот факт, что переменные среды PATH отсутствуют, является реальным, но на самом деле это всего лишь признак неправильной установки зависимостей tenorflow-gpu.

В конечном итоге проблема возникла из-за того, что я установил CUDA 10.0 и сопровождающий его cuDNN.Версия 10.0 была последней версией на сайте NVIDIA, и это была такая естественная ошибка для людей!Во всяком случае, я затем прочитал заметки о выпуске как CUDA, так и TensorFlow и решил, что вместо этого мне нужно установить CUDA 9.0.И это сработало!

Самое удивительное и странное, как только я установил CUDA 9.0, все переменные окружения внезапно стали правильными!т.е. переменные окружения пути для всех этих четырех каталогов внезапно все, как по волшебству, появляются в переменных PATH моего ipython / anaconda / spyder!

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp
...