วิธีการติดตั้ง pydot และ graphviz?


24

ฉันกำลังเรียกใช้รหัสที่ต้องการ pydot และ graphviz ฉันใช้ python 3.5 และ Ubuntu 16.04 LTS 64 บิต

  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.

ฉัน googled เล็ก ๆ น้อย ๆ แล้วพบว่าผมสามารถติดตั้ง pydot pip install pydotมีรหัส แต่ฉันรู้ว่าได้รับข้อผิดพลาดนี้ ฉันเป็น noob ในอูบุนตูและฉันไม่เข้าใจว่าต้องทำอย่างไร ดังนั้นฉันจะติดตั้ง 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'

1
pip install pydot>=1.2.4sudo apt-get install graphvizและ
Ioannis Filippidis

คำตอบ:


38

python-pydot และ graphviz อยู่ในที่เก็บเริ่มต้นของ Ubuntu ใน Ubuntu ทุกรุ่นที่รองรับในปัจจุบัน ใน Ubuntu ทุกรุ่นที่รองรับในปัจจุบันให้เปิดเทอร์มินัลและประเภท:

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

นี้ผังถูกสร้างขึ้นด้วย Graphviz ในอูบุนตู เนื่องจาก graphviz ใช้ภาษาการเขียนโปรแกรม dot ในตัวซึ่งรวมอยู่ในแพ็คเกจ graphviz ซอร์สโค้ดของแผนผังลำดับงานที่เชื่อมโยงสามารถแก้ไขได้ใน text editor ใด ๆ แม้ว่าจะไม่ได้ติดตั้ง python-pydot ก็ตาม

ฉันไม่รู้ว่าทำไมคุณต้องการติดตั้ง pydot ด้วย pip เมื่อคุณได้รับจากที่เก็บ Ubuntu แต่เพื่อตอบคำถามของคุณฉันลองติดตั้ง pydot ต่อไปในสภาพแวดล้อม Python virtual ด้วยpip3 install pydotและทำงานได้ดังนั้นจึงเป็นไปได้ที่คุณจะ จำเป็นที่จะต้อง pip sudo -H pip3 install --upgrade pipปรับปรุงให้เป็นเวอร์ชั่นล่าสุด ฉันใช้pip3แทนpipเพราะคุณเขียนคำถามของคุณว่าคุณใช้ Python 3.5


ว้าวขอบคุณ :) ฉันได้ติดตามความคิดเห็นของคุณเมื่อคุณอัพเดท ในที่สุดมันก็ใช้งานได้ เดาฉันต้อง google ขึ้นบนอูบุนตู pip, pip3, apt, apt-get ... มันสับสนอย่างยิ่ง

ใน Ubuntu หลายแพ็คเกจจาก PyPI รวมอยู่ในที่เก็บเริ่มต้นของ Ubuntu และชื่อแพคเกจของพวกเขามักจะถูกนำหน้าด้วยpython-และคล้ายกันสำหรับแพ็คเกจ 3 ของพวกเขาชื่อแพ็คเกจใน repos ของ Ubuntu มักจะถูกนำไปใช้ด้วยpython3-
karel

การติดตั้งแพคเกจโดยตรงจาก PyPI ด้วยpipเป็นแนวทางที่แนะนำ: เวอร์ชันล่าสุด (ที่เก็บ Ubuntu สามารถล้าสมัย) จัดการด้วยไฟล์ข้อกำหนดเมื่อเหมาะสมและติดตั้งเป็นvirtualenv; ไม่ไปยังแพ็คเกจไซต์ของระบบ
Ioannis Filippidis

6

จากคำตอบนี้ใน "การติดตั้ง pydot และแพ็คเกจ graphviz ในสภาพแวดล้อม Anaconda"

ฉันมีปัญหาเดียวกันและแก้ไขได้โดย (คำสั่งเป็นสิ่งสำคัญ ):

  1. ติดตั้งgraphvizเพียงผ่านsudo apt-get install graphviz
  2. การติดตั้งgraphvizPython ผ่าน condasudo ~/anaconda2/bin/conda install graphviz
  3. ในที่สุดโดยการติดตั้งpydotโดยใช้ condasudo ~/anaconda2/bin/conda install pydot

คำตอบนี้ค้างชำระ แต่โพสต์นี้ช่วยฉัน (พร้อมกับคำสั่งนี้กล่าวถึงการติดตั้ง) ดังนั้นหวังว่าคำตอบนี้จะช่วยคนอื่น ฉันใช้ Ubuntu 14.04 และ Python 2.7

PS เห็นได้ชัดว่าอาจมีปัญหาบางอย่างกับขั้นตอนที่ 1 ของอัลกอริทึมข้างต้นโพสต์นี้กล่าวถึงวิธีการแก้ไข


2
โปรดอย่าลอกเลียนแบบ มันไม่ได้ขัดกับกฎของไซต์ แต่ก็ไม่เจ๋ง คุณสามารถคัดลอกคำตอบและวางแหล่งที่มา ฉันจะแก้ไขคำตอบของคุณเพื่อแสดงให้เห็น
wjandrea

3

เพราะคุณใช้หลาม 3 pip3 install pydot graphvizคำสั่งที่เหมาะสมจะเป็น คุณสามารถติดตั้ง pip3 sudo apt install python3-pipใช้


1
หรือเพียงแค่ln -s /path/to/pip3 /path/to/pip
Ioannis Filippidis

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.