Bagaimana cara menginstal pydot dan graphviz?

24

Saya menjalankan kode yang membutuhkan pydot dan graphviz. Saya menggunakan python 3.5 dan ubuntu 16.04 LTS 64 bit.

  File "/usr/local/lib/python3.5/dist-packages/keras/utils/vis_utils.py", line 17, in _check_pydot
    raise ImportError('Failed to import pydot. You must install pydot'
ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.

Saya googled sedikit kemudian menemukan bahwa saya dapat menginstal pydot dengan kode tersebut pip install pydot. Tapi saya tahu mendapatkan kesalahan ini. Saya noob di ubuntu dan saya tidak mengerti apa yang harus saya lakukan. jadi bagaimana cara menginstal pydot?

deeplearning@deep-learning-virtual-machine:~$ pip install pydot
Collecting pydot
Collecting pyparsing>=2.1.4 (from pydot)
  Using cached pyparsing-2.2.0-py2.py3-none-any.whl
Installing collected packages: pyparsing, pydot
  Found existing installation: pyparsing 2.0.3
    Uninstalling pyparsing-2.0.3:
Exception:
Traceback (most recent call last):
  File "/usr/lib/python3.5/shutil.py", line 538, in move
    os.rename(src, real_dst)
PermissionError: [Errno 13] Permission denied: '/usr/lib/python3/dist-packages/__pycache__/pyparsing.cpython-35.pyc' -> '/tmp/pip-45miiuxw-uninstall/usr/lib/python3/dist-packages/__pycache__/pyparsing.cpython-35.pyc'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/local/lib/python3.5/dist-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/usr/local/lib/python3.5/dist-packages/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/usr/local/lib/python3.5/dist-packages/pip/req/req_install.py", line 754, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/usr/local/lib/python3.5/dist-packages/pip/req/req_uninstall.py", line 115, in remove
    renames(path, new_path)
  File "/usr/local/lib/python3.5/dist-packages/pip/utils/__init__.py", line 267, in renames
    shutil.move(old, new)
  File "/usr/lib/python3.5/shutil.py", line 553, in move
    os.unlink(src)
PermissionError: [Errno 13] Permission denied: '/usr/lib/python3/dist-packages/__pycache__/pyparsing.cpython-35.pyc'
Kong
sumber
1
pip install pydot>=1.2.4dan sudo apt-get install graphviz.
Ioannis Filippidis

Jawaban:

38

python-pydot dan graphviz berada dalam repositori Ubuntu default di semua versi Ubuntu yang saat ini didukung. Di semua versi Ubuntu yang saat ini didukung, buka terminal dan ketik:

sudo apt install python-pydot python-pydot-ng graphviz # python-pydot-ng isn't in the 14.04 repos

Ini flowchart diciptakan dengan graphviz di Ubuntu. Karena graphviz menggunakan bahasa pemrograman titik built-in yang termasuk dalam paket graphviz, kode sumber dari flowchart tertaut dapat diedit dalam editor teks apa pun bahkan jika python-pydot tidak diinstal.

Saya tidak tahu mengapa Anda ingin menginstal pydot dengan pip ketika Anda bisa mendapatkannya dari repositori Ubuntu, tetapi untuk menjawab pertanyaan Anda, saya tetap mencoba menginstal pydot di lingkungan virtual Python pip3 install pydotdan berhasil, jadi mungkin saja Anda perlu memperbarui pip ke versi terbaru dengan sudo -H pip3 install --upgrade pip. Saya menggunakan pip3bukan pipkarena Anda menulis dalam pertanyaan Anda bahwa Anda menggunakan Python 3.5.

karel
sumber
wow terima kasih :) Saya telah mengikuti komentar Anda saat Anda memperbaruinya. Akhirnya berhasil. Kira saya perlu mencari lebih banyak di ubuntu. pip, pip3, apt, apt-get ... semuanya sangat membingungkan.
Kong
Di Ubuntu banyak paket dari PyPI dimasukkan dalam repositori default Ubuntu dan nama paket mereka biasanya diawali dengan python-dan juga untuk paket pip3 nama paket mereka dalam repo Ubuntu biasanya diawali denganpython3-
karel
Menginstal paket langsung dari PyPI pipadalah pendekatan yang disarankan: versi terbaru (repositori Ubuntu dapat kedaluwarsa), dikelola dengan file persyaratan bila perlu, dan diinstal ke virtualenv; tidak ke paket situs sistem.
Ioannis Filippidis
6

Dari jawaban ini pada "Menginstal paket pydot dan graphviz di lingkungan Anaconda"

Saya memiliki masalah yang sama dan menyelesaikannya dengan (urutan penting ):

  1. Menginstal graphviz, cukup viasudo apt-get install graphviz
  2. Menginstal graphvizuntuk Python via condasudo ~/anaconda2/bin/conda install graphviz
  3. Akhirnya, dengan menginstal pydotmenggunakan condasudo ~/anaconda2/bin/conda install pydot

Jawaban ini sudah lewat waktu tetapi posting ini membantu saya (bersama dengan yang ini yang menyebutkan urutan pemasangan), jadi semoga jawaban ini akan membantu orang lain. Saya menggunakan Ubuntu 14.04 dan Python 2.7.

PS ternyata, mungkin ada beberapa masalah dengan langkah 1 dari algoritma di atas, posting ini menyebutkan cara memperbaikinya.

Emmie Jackson
sumber
2
Tolong jangan menjiplak. Ini tidak melanggar aturan situs, tetapi tentu saja tidak keren. Sebagai gantinya, Anda dapat menyalin-menempelkan jawaban dan mengaitkan sumbernya. Saya akan mengedit jawaban Anda untuk menunjukkan.
wjandrea
3

Karena Anda menggunakan python 3, perintah yang tepat adalah pip3 install pydot graphviz. Anda dapat menginstal pip3 menggunakan sudo apt install python3-pip.

Casper Gerritsen
sumber
1
atau hanyaln -s /path/to/pip3 /path/to/pip
Ioannis Filippidis
0

Di Ubuntu 17.10, ff memperbaiki masalah:

sudo apt-get install python3-pydot graphviz
sudo pip3 install pydot_ng
rowel
sumber