ImportError: Не удалось импортировать `pydot`. Пожалуйста, установите `pydot`. Например, с помощью `pip install pydot`

#python #keras #ipython #pydot

#python #keras #ipython #pydot

Вопрос:

Я пытаюсь визуализировать модель Keras с помощью Ipython и из keras.utis.vis_utils. Но я получаю следующую ошибку.

ImportError: Не удалось импортировать pydot . Пожалуйста, установите pydot . Например > с pip install pydot .

Используемый код :

Например, модель = ggv.h5

 from IPython.display import SVG
from keras.utils.vis_utils import model_to_dot
SVG(model_to_dot(model).create(prog='dot', format='svg'))
  

Обратная трассировка

 Traceback (most recent call last):
  File "C:UsersVW3ZTWSPycharmProjectsData_Collection_and_learningsvenvlibsite-packagesIPythoncoreinteractiveshell.py", line 2869, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-49-b1aadf48e3ac>", line 5, in <module>
    SVG(model_to_dot(model).create(prog='dot', format='svg'))
  File "C:UsersVW3ZTWSPycharmProjectsData_Collection_and_learningsvenvlibsite-packageskerasutilsvis_utils.py", line 55, in model_to_dot
    _check_pydot()
  File "C:UsersVW3ZTWSPycharmProjectsData_Collection_and_learningsvenvlibsite-packageskerasutilsvis_utils.py", line 20, in _check_pydot
    'Failed to import `pydot`. '
ImportError: Failed to import `pydot`. Please install `pydot`. For example with `pip install pydot`.
  

Я попытался удалить pydot, graphviz и снова установил его. Но ошибка остается той же.

В таком случае, каким будет лучшее решение для визуализации модели

Ответ №1:

Если вы получаете эту ошибку в записной книжке jupyter, есть вероятность, что вы используете интерпретатор python, отличный от системного по умолчанию.

В записной книжке попробуйте это:

 import sys
%$sys.executable -m pip install pydot
  

Этот фрагмент передаст путь к вашему текущему интерпретатору python в терминал и запустит pip в качестве модуля для установки библиотеки.

Проверьте эти ссылки для получения дополнительной информации

Если вы используете другой интерпретатор, сначала выясните, какой из них вы используете: print(sys.executable)

Затем используйте эту информацию для запуска в терминале: path_to_the_interpeter -m pip install pydot

Другим способом было бы сделать это из вашего кода:

 import subprocess
import sys

def install(library):
    subprocess.call([sys.executable, "-m", "pip", "install", library])

try:
    import pydot
except ImportError:
    install('pydot')
    import pydot
  

Но я предпочитаю устанавливать библиотеки с терминала и поддерживать свой код в чистоте.

Комментарии:

1. @ponraj.rajesh Концепция та же, сначала вам нужно знать путь к вашему интерпретатору, затем вы можете установить его с помощью -m опции. Проверьте обновленный ответ.

2. Мой путь к интерпретатору после выполнения print(sys.executable) является C:UsersVW3ZTWSPycharmProjectsData_Collection_and_learningsvenvScriptspython.exe . Теперь я попытался установить его через’ код import subprocess import sys def install(library): subprocess.call([sys.executable, "-m", "pip", "install", library]) install('pydot')

3.После выполнения это показывает Requirement already satisfied: pydot in c:usersvw3ztwspycharmprojectsdata_collection_and_learningsvenvlibsite-packages (1.4.1) Requirement already satisfied: pyparsing>=2.1.4 in c:usersvw3ztwspycharmprojectsdata_collection_and_learningsvenvlibsite-packages (from pydot) (2.3.0) Теперь я попытался визуализировать, используя вышеупомянутую строку кодов, но повторяется та же ошибка… @alec_djinn

4. Тогда я не знаю. Попробуйте удалить его и переустановить.

5. Нет, pydot или требующей его библиотеки