Не могу импортировать TF используя PyCharm и venv - PullRequest
0 голосов
/ 13 февраля 2019

Я прочитал это , это и это .Это не мой случай.Также я попытался решить мою проблему, используя this .

Описание проблемы

Я установил cuda 10.0, pip 19.0.2, python 3.6.7, ipython 7.2.0, tenorflow-gpu 1.13.0-rc1, PyCharm CE 2018.3.4.Все модули Python устанавливаются в виртуальной среде.

Я выбрал интерпретатор venv в качестве интерпретатора проекта и интерпретатора консоли Python в PyCharm.

Когда я пытаюсь импортировать тензор потока

import tensorflow as tf

Я успешно использовал терминал ipython и не смог использовать PyCharm.

/home/roman/dev/venv/bin/python /home/roman/dev/box.neuro/test.py
Traceback (most recent call last):
  File "/home/roman/dev/venv/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/roman/dev/venv/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/roman/dev/venv/lib/python3.6/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 "/home/roman/dev/venv/lib/python3.6/imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "/home/roman/dev/venv/lib/python3.6/imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/roman/dev/box.neuro/test.py", line 1, in <module>
    import tensorflow as tf
  File "/home/roman/dev/venv/lib/python3.6/site-packages/tensorflow/__init__.py", line 24, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "/home/roman/dev/venv/lib/python3.6/site-packages/tensorflow/python/__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "/home/roman/dev/venv/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 74, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "/home/roman/dev/venv/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/roman/dev/venv/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/roman/dev/venv/lib/python3.6/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 "/home/roman/dev/venv/lib/python3.6/imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "/home/roman/dev/venv/lib/python3.6/imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory


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.

Process finished with exit code 1

Дополнительная информация

Я подтвердил, что использую тот же ipython следующим образом.Я проверил import requests, заметил, что он не импортирован в терминал и PyCharm, установил его в терминал и убедился, что я могу импортировать его в оба.

Я проверил следующее:

import os
print(os.environ['PATH'])

Заметили разницу в терминале и PyCharm.Затем я добавил переменную окружения PATH в Настройки-> Построение, Выполнение, Развертывание-> Консоль-> Консоль Python.Теперь вывод такой же, но я все еще не могу импортировать тензор потока в PyCharm.

Я проверил следующее:

import os
print(os.environ['LD_LIBRARY_PATH'])

Заметил разницу в терминале и PyCharm.Вывод PyCharm IPython пуст и вывод терминала IPython следующий:

'/usr/local/cuda-10.0/lib64'

1 Ответ

0 голосов
/ 14 февраля 2019

Я нашел обходной путь сам.Я добавил переменную окружения 'LD_LIBRARY_PATH' в Настройки-> Построение, Выполнение, Развертывание-> Консоль-> Консоль Python.Чтобы использовать конфигурации Run / Debug, я добавил для них ту же переменную среды.Это не удобно для пользователя, потому что я должен делать это для каждой конфигурации снова и снова.

Все предыдущие разы я устанавливал PyCharm на разных компьютерах, он работал должным образом с TF или лучше сказать библиотеки cuda. ​​

Кроме того, я обнаружил проблему на трекере PyCharm.Так что, если вы заинтересованы в исправлении, смело голосуйте за него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...