Установка pygraphviz на окнах
После установки последней версии graphviz (2.26.3) на 64-разрядную версию Windows 7 Ultimate я получаю следующую ошибку:
C:> easy_install pygraphviz Поиск pygraphviz Чтение http://pypi.python.org/simple/pygraphviz/ Чтение http://networkx.lanl.gov/pygraphviz Чтение http://networkx.lanl.gov/wiki/download Чтение http://networkx.lanl.gov/download/pygraphviz Чтение http://sourceforge.net/project/showfiles.php?group_id=122233&package_id=161979 Чтение http://networkx.lanl.gov/download Лучшее совпадение: pygraphviz 1.1.dev1947 Загрузка http://networkx.lanl.gov/download/pygraphviz/pygraphviz-1.1.dev1947.tar.gz Обработка pygraphviz-1.1.dev1947.tar.gz Запуск pygraphviz-1.1.dev1947\setup.py -q bdist_egg --dist-dir c:\users\jonathan\appdata\local\temp\easy_install-apywwk\pygraphviz-1.1.dev1947\egg-dist-tmp-nvd0pa Попытка pkg-config Не удалось найти pkg-config Попытка dotneato-config Не удалось найти dotneato-config
Не удалось найти вашу установку на графике.
Либо пакет graphviz отсутствует в неполном (двоичные пакеты graphviz-dev или graphviz-devel отсутствуют?).
Если вы считаете, что ваша установка правильная, вам нужно будет вручную изменить переменные include_path и library_path в setup.py, чтобы указать правильные места вашей установки graphviz.
Текущий параметр library_path и include_path: library_path= Нет include_path= Нет
ошибка: нет
Есть мысли как это исправить?
Кажется, это другая проблема, чем та, что описана здесь.
У кого-нибудь был успех в установке pygraphviz на Windows? Как?
5 ответов
Вот что сработало для меня. Условие: установить mingw32 (входит в дистрибутив pythonxy, если вы его используете), Graphviz
1) Скачать источники Pygraphviz
2) Отредактируйте файл setup.py, чтобы изменить путь к чему-то похожему
library_path=r"c:\Program Files (x86)\Graphviz 2.28\bin"
include_path=r"c:\Program Files (x86)\Graphviz 2.28\include\graphviz"
Обратите внимание, что это \ bin, а не \ lib. Связь с библиотеками не работала для меня.
3) бегать python setup.py build -c mingw32
Результат шага 3:
c:\Python27\Lib\site-packages\pygraphviz-1.1>python setup.py build -c mingw32
library_path=c:\Program Files (x86)\Graphviz 2.28\bin
include_path=c:\Program Files (x86)\Graphviz 2.28\include\graphviz
running build
running build_py
running build_ext
building 'pygraphviz._graphviz' extension
C:\MinGW32-xy\bin\gcc.exe -mno-cygwin -mdll -O -Wall "-Ic:\Program Files (x86)\G
raphviz 2.28\include\graphviz" -Ic:\Python27\include -Ic:\Python27\PC -c pygraph
viz/graphviz_wrap.c -o build\temp.win32-2.7\Release\pygraphviz\graphviz_wrap.o
pygraphviz/graphviz_wrap.c: In function 'agattr_label':
pygraphviz/graphviz_wrap.c:2855:5: warning: return makes integer from pointer wi
thout a cast
writing build\temp.win32-2.7\Release\pygraphviz\_graphviz.def
C:\MinGW32-xy\bin\gcc.exe -mno-cygwin -shared -s build\temp.win32-2.7\Release\py
graphviz\graphviz_wrap.o build\temp.win32-2.7\Release\pygraphviz\_graphviz.def "
-Lc:\Program Files (x86)\Graphviz 2.28\bin" -Lc:\Python27\libs -Lc:\Python27\PCb
uild "-Wl,-Rc:\Program Files (x86)\Graphviz 2.28\bin" -lcgraph -lcdt -lpython27
-lmsvcr90 -o build\lib.win32-2.7\pygraphviz\_graphviz.pyd
4) скопируйте результат из только что созданного lib.win32-2.7 (одна подпапка называется pygraphviz
) в папку с пакетами сайта вашего Python
Наслаждайтесь!
Для Windows 64-bit:
аналогично тому, что написал Андрей Филев, за исключением того, что вам НУЖНО использовать pythonxy, и вам НУЖНО установить Graphviz в папку, не содержащую пробелов (включая корневую папку программы: "Graphviz 2.28"=> "Graphviz2.28"
так:
1) удалить Python 2.7
2) установить pythonxb (http://code.google.com/p/pythonxy/wiki/Downloads)
3) установите Graphviz 2.28 (единственный, который я тестировал), убедившись, что в пути установки нет пробелов. Хорошим примером будет: "C: \ Graphviz2.28"
4) скачать pygraphviz в виде zip (исходники) и распаковать.
5) изменить setup.py в верхней части, чтобы иметь
library_path=r"c:\Graphviz2.28\bin"
include_path=r"c:\Graphviz2.28\include\graphviz"
6) запустить: python setup.py build -c mingw32
7) после просмотра этого результата (гораздо приятнее, чем тот, что был опубликован ранее):
>python setup.py build -c mingw32
library_path=c:\Graphviz2.28\bin
include_path=c:\Graphviz2.28\include\graphviz
running build
running build_py
running build_ext
скопируйте результат из только что созданного lib.win32-2.7 (одна подпапка называется pygraphviz
) в папку site-packages вашего Python, которую вам, возможно, придется сделать самостоятельно + привязать новую корневую папку pygraphviz к переменной окружения PYTHONPATH
Например, последняя библиотека может быть расположена здесь:
C:\Python27\libs\site_packages\pygraphviz
Я просто потратил полчаса, пытаясь выяснить, почему приведенные выше ответы не работают для меня, и оказывается, что они устарели как library_path
а также include_path
больше не имена соответствующих переменных. Вот что у меня работает на Windows 7, 32-битный Python 2.7:
setup.py
library_dirs = r'C:\PROGRA~2\Graphviz2.38\bin'
include_dirs = r'C:\PROGRA~2\Graphviz2.38\include'
затем беги python setup.py build -c mingw32
Старый вопрос, но я только что сделал это и не смог найти конкретный ответ для Python 3, и мне не пришлось делать половину вещей, упомянутых выше. Так и здесь. Я нахожусь на Win7 64-битной, 64-битной Python3.4 и использую виртуальную среду. Я использую его для генерации схем баз данных из моделей django с использованием расширений django, довольно полезно!
- Загрузите graphviz-2.38.msi с сайта graphviz Graphviz
Установите msi (я использовал cmd с правами администратора)
msiexec /a graphviz-2.38.msi
По какой-то причине это не добавляет Graphviz в системный путь, поэтому вам нужно сделать это вручную. Для меня это было
SET PATH=%PATH%;C:\Program Files (x86)\Graphviz2.38\bin
Затем мне нужно было получить конкретное колесо pygraphviz для Windows с этого действительно полезного сайта, а именно pygraphviz-1.3.1-cp34-none-win_amd64.whl
После этого я установил его, используя pip/mingw32, в свою виртуальную среду.
$ pip install pygraphviz-1.3.1-cp34-none-win_amd64.whl
Теперь все работает отлично.
PyGraphviz использует модуль расширения языка C (сгенерированный SWIG). Так что вам нужен компилятор для сборки расширения. Вам может понадобиться тот же компилятор, который создал ваш исполняемый файл Python.
В этом вопросе есть некоторая информация. Создание модулей расширения Python C для Windows
а также по адресу http://www.swig.org/Doc1.3/Python.html