Runtime RuntimeError: Hãy chắc chắn rằng các tệp thực thi của Graphviz nằm trên đường dẫn của hệ thống của bạn sau khi cài đặt Graphviz 2.38


138

Tôi đã tải xuống Graphviz 2.38phiên bản MSI và cài đặt trong thư mục C:\Python34, sau đó tôi chạy pip install Graphviz, mọi thứ đều ổn. Trong đường dẫn của hệ thống, tôi đã thêm C:\Python34\bin. Khi tôi cố chạy một kịch bản thử nghiệm, trong dòng filename=dot.render(filename='test'), tôi nhận được một tin nhắn

 RuntimeError: failed to execute ['dot', '-Tpdf', '-O', 'test'], make sure the Graphviz executables are on your systems' path

Tôi đã cố gắng đưa "C:\Python34\bin\dot.exe"vào đường dẫn của hệ thống, nhưng nó không hoạt động và thậm chí tôi đã tạo ra một biến môi trường mới "GRAPHVIZ_DOT"có giá trị "C:\Python34\bin\dot.exe", vẫn không hoạt động. Tôi đã cố gắng gỡ cài đặt Graphviz và pip uninstall graphvizsau đó cài đặt lại và cài đặt lại pip, nhưng không có gì hoạt động.

Toàn bộ thông điệp truy nguyên là:

Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\graphviz\files.py", line 220, in render
    proc = subprocess.Popen(cmd, startupinfo=STARTUPINFO)
  File "C:\Python34\lib\subprocess.py", line 859, in __init__
    restore_signals, start_new_session)
  File "C:\Python34\lib\subprocess.py", line 1112, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Documents\Kissmetrics\curves and lines\eventNodes.py", line 56, in <module>
    filename=dot.render(filename='test')
  File "C:\Python34\lib\site-packages\graphviz\files.py", line 225, in render
    'are on your systems\' path' % cmd)
RuntimeError: failed to execute ['dot', '-Tpdf', '-O', 'test'], make sure the Graphviz executables are on your systems' path

Có ai có bất kỳ kinh nghiệm với nó?

Câu trả lời:


96
import os
os.environ["PATH"] += os.pathsep + 'D:/Program Files (x86)/Graphviz2.38/bin/'

Trong các cửa sổ, chỉ cần thêm 2 dòng này vào đầu, trong đó 'D: / Tệp chương trình (x86) /Graphviz2.38/bin/' được thay thế bằng địa chỉ nơi chứa tệp bin của bạn.

Điều đó giải quyết vấn đề.


9
đã làm việc trong các cửa sổ, tôi đã tải xuống graphviz-2,38.zip từ đây graphviz.gitlab.io/_pages/Doad/Doad_windows.html . Giải nén nó và đặt nó vào thư mục được đề cập
user3046442

Điều này làm việc cho tôi. Tôi đã cố gắng thêm nó vào các biến môi trường của người dùng và hệ thống, nhưng nó không hoạt động, chỉ có giải pháp của bạn làm việc cho tôi.
Tom

điều này cũng làm việc cho tôi, nhưng nó đã gây ra một lỗi khác trước khi làm việc. Vì một số lý do, nó đã cho tôi một cấu hình song song ....- lỗi. Tôi đã phải cài đặt lại Gói phần mềm phân phối lại Microsoft Visual C ++ 2008 (x86). Nếu ai đó có cùng một vấn đề, đây là liên kết: [ microsoft.com/de-DE/doad/details.aspx?id=29]
Marco

Tôi đã sử dụng chocolatey để cài đặt graphvizchoco install -y graphviz
Nissan

90

Bạn nên cài đặt gói graphviz trong hệ thống của bạn (không chỉ gói python). Trên Ubuntu, bạn nên thử:

sudo apt-get install graphviz

Nếu điều này không hoạt động (nó nói gói được tham chiếu nhưng không có ở đó hoặc một cái gì đó tương tự) chạy sudo apt-get updateđể cập nhật apt-get và cho nó biết gói nào ở đó.
Pro Q

Nếu bạn đang ở trong Docker Container (như tôi), tôi đã có rootvà chỉ cầnapt-get install graphviz
775

79

Điều này đã giải quyết vấn đề cho tôi trên MAC :

  brew install graphviz

2
Đối với mac, có vẻ như đây là lựa chọn tốt nhất. Trừ khi bạn muốn sử dụng MacPorts và cài đặt graphviz từ đây: graphviz.org/Doad_macos.php .
AlexG

1
Cảm ơn, nó đã làm việc trên MAC của tôi. Tôi đã cố gắng cài đặt bằng cả pip và conda nhưng nó không hoạt động.
Catbuilts

Làm cách nào để tìm thư mục bin của tôi nơi tôi có graphviz. Tôi đang gặp vấn đề này và đang thực sự giết chết ngay bây giờ. Chỉ cần kiểm tra tôi có graphviz 2.38.
Herc01

55

Cho cửa sổ:

  1. Cài đặt gói windows từ: https://graphviz.gitlab.io/_pages/Doad/Doad_windows.html
  2. Cài đặt graphvizgói python
  3. Thêm C:\Program Files (x86)\Graphviz2.38\binvào đường dẫn người dùng
  4. Thêm C:\Program Files (x86)\Graphviz2.38\bin\dot.exevào đường dẫn hệ thống

Điều này làm việc cho tôi!


15
Đồng thời Đóng "cmd" của bạn trong đó máy tính xách tay jupyter đang chạy. CMD đang chạy hiện tại không nắm bắt được những thay đổi mới trong các biến Môi trường.
Rohit Nandi

Nó không hoạt động với tôi cho đến khi tôi khởi động lại hệ thống
Mohammad Nazari

Điều này làm việc hoàn hảo. Chỉ cần phải khởi động lại máy tính xách tay một lần nữa. Cảm ơn.
Amresh Giri

21

Hãy thử sử dụng:

conda install python-graphviz

Thực thi graphviz ngồi trên một đường dẫn khác từ thư mục conda của bạn, nếu bạn sử dụng pip install graphviz.


Conda install graphvizlàm việc trên windows không có gì khác có vẻ hoạt động: \
Joel Carneiro

12

OSX Sierra, Python 2.7, Graphviz 2.38

Sử dụng pip install graphvizconda install graphvizCẢ HAI giải quyết vấn đề.

pipchỉ gặp sự cố đường dẫn giống như của bạn và condachỉ bị lỗi nhập.


CHỈ điều này làm việc cho tôi. sau khi thử mọi thứ cảm ơn.
Meghna Natraj

Conda install graphvizlàm việc trên windows không có gì khác có vẻ hoạt động: \
Joel Carneiro

10

Chỉ cần thêm bên dưới vào PATH Biến hệ thống (hệ thống) của bạn trên Windows

C: \ Tệp chương trình (x86) \ Graphviz2,38 \ bin

ở đó, bạn có thể tìm thấy tập tin .exe

Nếu không làm việc

Tìm thư mục Graphviz2,38 / bin trong Tệp chương trình của bạn không có trong python lib

Sau đó, thêm vào ĐƯỜNG của bạn

Điều quan trọng là tìm một thư mục tồn tại các tệp .exe


có vẻ như chỉ bài viết của bạn có thể giải quyết vấn đề của tôi ... phiên bản doanh nghiệp win10, máy tính xách tay jupyter, py 3.6
Travis

10

Bước 1: Cài đặt nhị phân Graphviz

Các cửa sổ:

  1. Tải xuống Graphviz từ http://www.graphviz.org/doad/
  2. Thêm bên dưới vào biến môi trường PATH (đề cập đến phiên bản graphviz đã cài đặt):
    • C: \ Tệp chương trình (x86) \ Graphviz2,38 \ bin
    • C: \ Tệp chương trình (x86) \ Graphviz2,38 \ bin \ dot.exe
  3. Đóng bất kỳ sổ ghi chép Juypter đã mở và dấu nhắc lệnh
  4. Khởi động lại lời nhắc và kiểm tra Jupyter / cmd

Linux:

  1. sudo apt-get cập nhật
  2. sudo apt-get cài đặt graphviz
  3. hoặc xây dựng thủ công từ http://www.graphviz.org/doad/

Bước 2: Cài đặt mô-đun graphviz cho python

pip:

  • Pip cài đặt graphviz

conda:

  • conda cài đặt graphviz

1
Đã giải quyết cho tôi trên winzoz
rakwaht

1
Giải thích tuyệt vời! Cảm ơn bạn ~
Sáng Chang

8

Sử dụng conda install graphvizconda install python-graphvizđể cài đặt GraphViz trên Windows10, đường dẫn cần thiết là C: / ProgramData / Anaconda3 / Library / bin / graphviz / cho tôi. Tức là thêm

import os
os.environ["PATH"] += os.pathsep + 'C:/ProgramData/Anaconda3/Library/bin/graphviz/'

giải quyết vấn đề cho tôi


7

Hãy thử conda install graphviz. Tôi đã có cùng một vấn đề, tôi đã giải quyết nó bằng lệnh được đề cập trong MacOS.


1
Conda install graphvizlàm việc trên windows không có gì khác có vẻ hoạt động: \
Joel Carneiro

6
conda install python-graphviz

Đối với Windows, hãy cài đặt Python Graphviz sẽ bao gồm các tệp thực thi trong đường dẫn.


1
Conda install graphvizlàm việc trên windows không có gì khác có vẻ hoạt động: \
Joel Carneiro

6

Trên Ubuntu Linux, điều này đã giải quyết nó cho tôi:

pip install graphviz
sudo apt-get install graphviz

Bạn cũng có thể thử conda install -c conda-forge graphvizthay vì pip nếu sử dụng Anaconda.


1
Điều này cũng làm việc với tôi trong WSL trong Windows 10. Cài đặt bằng pip là không đủ.
Nerxis

6

Khi tự giải quyết vấn đề này, tôi đã sử dụng hướng dẫn GitHub này để phân tích nguyên nhân của vấn đề này. Nếu chúng ta đọc ở giữa các dòng, nó nói rằng nó cần hệ thống cũng như biểu đồ python viz. Ngoài ra conda install, chúng tôi sẽ cần phải chạy:

conda install -c conda-forge python-graphviz

Sau đó khởi động lại kernel; Nó hoạt động như một say mê.


4

1) Graphviz - tải xuống giải nén ở một vị trí cụ thể trong hệ thống (pip không hoạt động trong windows) và bao gồm thư mục bin trong đường dẫn ('đặt biến môi trường trong cửa sổ' HOẶC) được đặt thủ công trong mỗi chương trình

import os
os.environ["PATH"] += os.pathsep + 'C:/GraphViz/bin'

2) Sau đó đưa mô hình vào cốt truyện

clf = xgb.train(params, d_train, 1000, evals=evallist, early_stopping_rounds=10)
xgb.plot_tree(clf)
plt.rcParams['figure.figsize'] = [50, 10]
plt.show()

3

Sau khi bạn đã cài đặt gói ( liên kết nếu bạn chưa có), hãy thêm đường dẫn đến dot.exe làm biến hệ thống mới.

Đường dẫn mặc định là:

C: \ Tệp chương trình (x86) \ Graphviz2,38 \ bin \ dot.exe

nhập mô tả hình ảnh ở đây


2

Tôi gặp vấn đề tương tự trên Linux với Jupyter.

Để giải quyết nó, tôi đã thêm thư viện dấu chấm vào python sys.path

Đầu tiên: kiểm tra nếu dotđược cài đặt,

Sau đó:
tìm đường dẫn của anh ấy whereis dot-> / local / notebook / miniconda2 / envs / ik2 / bin / dot

Cuối cùng trong tập lệnh python: sys.path.append ("/ local / notebook / miniconda2 / envs / ik2 / bin / dot")


15
Trên linux tôi chỉ làm sudo apt-get install graphviz(sau khi làm pip install graphviz) và sau đó nó hoạt động.
lời giới thiệu

@wordsforthewise Nhận xét của bạn phải là một câu trả lời. Giải quyết vấn đề cho tôi
Riken Shah

@wordsforthewise đó là câu trả lời!
SeF


2

Tôi đã có thông báo lỗi tương tự trên Mac OS (El Capitan), sử dụng PyCharm IDE. Tôi đã cài đặt Graphviz bằng cách sử dụng brew, như được đề xuất trong câu trả lời của RZK và đã cài đặt gói python graphviz bằng PyCharm (Tôi có thể kiểm tra Graphviz đã được cài đặt chính xác bằng cách thử dot -Vtrong thiết bị đầu cuối và nhận dot - graphviz version 2.40.1 (20161225.0304):). Tuy nhiên, tôi vẫn nhận được thông báo lỗi khi cố gắng gọi Graphviz từ PyCharm.

Tôi đã phải thêm đường dẫn / usr / local / bin trong các tùy chọn PyCharm, như được đề xuất trong câu trả lời cho câu hỏi này để giải quyết vấn đề.


2

Điều này đang hiển thị một số vấn đề đường dẫn:

pip install graphviz

Vì vậy, điều này làm việc cho tôi:

sudo apt-get install graphviz

2

Tôi đang dùng macOS Catalina 10.15.3 và tôi cũng gặp một lỗi tương tự: ExecutableNotFound: failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on your systems' PATH

Đã sửa nó bằng:

pip3 install graphvizbrew install graphviz

Lưu ý rằng pip3 installsẽ chỉ trả về thông báo thành công Successfully installed graphviz-0.13.2vì vậy chúng tôi vẫn cần phải chạy brew installđể có được graphviz 2.42.3 (kể từ ngày 10 tháng 3 năm 2020, 6 giờ tối).


1

Đối với người dùng Linux không có quyền truy cập root và do đó không thể sử dụng sudolệnh như được đề xuất trong các câu trả lời khác ...

Đầu tiên, kích hoạt môi trường ảo conda của bạn (nếu bạn muốn sử dụng một) bằng cách:

source activate virtual-env-name

Sau đó cài đặt graphviz, ngay cả khi bạn đã thực hiện bằng cách sử dụng pip:

conda install graphviz

sau đó sao chép kết quả của lệnh sau:

whereis dot

Trong trường hợp của tôi, đầu ra của nó là:

/home/nader/anaconda2/bin/dot

và thêm nó vào biến PATH của bạn. Chỉ cần chạy lệnh dưới đây

nano ~/.bashrc

và thêm các dòng này vào cuối tệp đã mở:

PATH="/home/username/anaconda2/bin/dot:$PATH"
export PATH

bây giờ nhấn Ctrl+ Ovà sau đó Ctrl+ Xđể lưu và thoát.

Vấn đề nên được giải quyết ngay bây giờ.

Người dùng Pycharm, xin lưu ý: Pycharm không phải lúc nào cũng thấy biến PATH giống như thiết bị đầu cuối của bạn. Giải pháp này không hiệu quả với Pycharm và có thể các IDE khác. Nhưng bạn có thể khắc phục điều này bằng cách thêm dòng mã này:

os.environ["PATH"] += os.pathsep + '/home/nader/anaconda2/bin'

để chương trình python của bạn. Đừng quên

import os

Đầu tiên :)

Chỉnh sửa: Nếu bạn không muốn sử dụng conda, bạn vẫn có thể cài đặt graphviz từ đây mà không cần bất kỳ quyền root nào và thêm thư mục bin vào biến PATH của bạn. Tôi đã không kiểm tra điều này.


Điều gì nếu whereis dotđầu ra không có gì nhưng dot:? Tôi đang sử dụng PyCharm trên Windows để kết nối với máy chủ Ubuntu 16.04 và dường như không thể tìm thấy thư mục bin cần thiết để thêmos.environ["PATH"] += os.pathsep + '...'
bit_scientist

Thay vì đề cập đến vấn đề này của tôi được đăng ở đây
bit_scientist

1

1. cài đặt gói windows từ: https://graphviz.gitlab.io/_pages/Doad/Doad_windows.html và tải xuống tệp msi

Thêm vào các biến môi trường 2. Thêm C: \ Chương trình tệp (x86) \ Graphviz2.38 \ bin vào đường dẫn người dùng

  1. Thêm C: \ Tệp chương trình (x86) \ Graphviz2.38 \ bin \ dot.exe vào Đường dẫn hệ thống

  2. Khởi động lại máy tính xách tay python của bạn.

Nó sẽ làm việc.


1

Thêm graphviz vào Đường dẫn hệ thống

  1. Windows - Chỉnh sửa các biến môi trường hệ thống.
  2. Chọn biến môi trường.
  3. Chọn đường dẫn - Mới
  4. Thêm đường dẫn của graphviz

Ví dụ: C: \ Users \ AppData \ Local \ Continuum \ anaconda3 \ Library \ bin \ graphviz


0

Hệ điều hành Mojave 10.14., Python 3.6

Việc sử dụng pip install graphvizcó phản hồi tốt trong thiết bị đầu cuối, nhưng dẫn đến lỗi này khi tôi cố gắng tạo một biểu đồ trong sổ ghi chép Jupyter. Sau đó tôi chạy brew install graphviz, trong đó có một lỗi trong thiết bị đầu cuối. Sau đó tôi chạy conda install graphvizvà đồ thị hoạt động.

Từ nhận xét của @ Leighton: pip chỉ gặp vấn đề về đường dẫn giống như của bạn và conda chỉ bị lỗi nhập.


0
import os
os.environ["PATH"] += os.pathsep + "/Macintosh HD⁩/anaconda3⁩/lib⁩/⁨python3.7⁩/site-packages⁩/sphinx⁩/templates⁩/graphviz"

Điều này đã giải quyết vấn đề PATH trên MAC cho tôi!


0

Nếu bạn không sử dụng Conda nhưng vanilla Python, 'brew install graphviz' hoạt động.


0
#Write this on anaconda prompt in admin mode
conda install -c anaconda graphviz
conda install -c conda-forge python-graphviz
conda install -c conda-forge/label/broken python-graphviz
conda install -c conda-forge/label/cf201901 python-graphviz
conda install -c conda-forge/label/cf202003 python-graphviz

#check dot -v in window's cmd prompt
C:\WINDOWS\system32>dot -V
dot - graphviz version 2.38.0 (20140413.2041)
(this means graphviz installed successfully)

#Add path to sys and user eve variables
PATH
C:\Anaconda3\pkgs\graphviz-2.38-hfd603c8_2\Library\bin
(search bin folder of graphviz and then copy n paste path in env variables)

#Re-run all cmds in jyupter notebook
#if error occurs (less chances)
#then 
#Restart anaconda and again run all cmds in jyupter notebook
eg.
import graphviz as gp
with open("tree.dot") as f:
    dot_read=f.read()
display(gp.Source(dot_read))

0

hãy thử gõ đoạn mã sau vào dấu nhắc của Anaconda.

Điều này làm việc cho tôi.

Nguồn: https://anaconda.org/conda-forge/python-graphviz

conda install -c conda-forge python-graphviz
conda install -c conda-forge/label/broken python-graphviz
conda install -c conda-forge/label/cf201901 python-graphviz
conda install -c conda-forge/label/cf202003 python-graphviz 

-2

cố gắng thực hiện điều này trong pyys nhập sys! conda install --yes --prefix {sys.prefix} graphviz nhập graphviz


Vui lòng thêm chi tiết vào câu trả lời của bạn, chẳng hạn như lý do tại sao điều này sẽ khắc phục vấn đề
Deiv
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.