21

誰かがWindowsにPygraphVizを正常にインストールしましたか?

Windowsの公式リリースがないので、自分でビルドしようとしていますが、コンパイルに失敗します。私はこの問題に直面した最初の人ではありませんが、答えを見つけることができませんでした。

これはコンソール出力です:

C:\Python26\Lib\site-packages\pygraphviz-0.99.1>c:\python26\python.exe setup.py
install
library_path=C:/Program Files/Graphviz2.26.3/lib/debug/dll
include_path=C:/Program Files/Graphviz2.26.3/include/graphviz
running install
running build
running build_py
running build_ext
building 'pygraphviz._graphviz' extension
C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W
3 /GS- /DNDEBUG "-IC:/Program Files/Graphviz2.26.3/include/graphviz" -Ic:\python
26\include -Ic:\python26\PC /Tcpygraphviz/graphviz_wrap.c /Fobuild\temp.win32-2.
6\Release\pygraphviz/graphviz_wrap.obj
graphviz_wrap.c
warning: I don't know what to do with 'runtime_library_dirs': ['C:/Program Files
/Graphviz2.26.3/lib/debug/dll']
error: don't know how to set runtime library search path for MSVC++

どんな助けでもいただければ幸いです!

4

8 に答える 8

18

これは今では時代遅れのスレッドかもしれませんが、現在この壁にぶつかっている他の人のために更新するために、Christoph Gohlke の非公式 Windows Binaries for Python Extension Packagesのインストーラーがちょうど私のために働いていました..

于 2013-04-05T09:43:57.247 に答える
4

私は今日、同じ問題に遭遇しました。それはあまり答えではありませんが、私は彼らのFAQを読みました:

Q:

Windows で pygraphviz をコンパイルするにはどうすればよいですか? そして、pygraphviz Windows インストーラーを配布してみませんか?

A:

Windows 開発マシンはありませんが、pygraphviz をすべてのプラットフォームで動作させたいと考えています。Windows で成功した場合、または Windows インストーラーのテストと配布に協力していただける場合は、ご連絡ください。

チケット 67 も参照してください: https://networkx.lanl.gov/ticket/67

これに加えて、さまざまなフォーラム、メーリング リスト、ニュースグループでの支援を求める複数の未回答の嘆願と合わせて、Windows で PyGraphviz を実行することは今日簡単にできることではないと私は信じています。

そこで、次の明白なこと (*) を実行し、VirtualBox の上で Ubuntu を起動して、Python で Graphviz グラフを作成しました。不思議なことに、Graphviz 自体をソースからインストールしない限り、Ubuntu のソースからのインストールも失敗しますが、ビルド済みのパッケージからインストールすることはできますsudo apt-get python-pygraphviz

だから今、私は幸せな pygraphviz ユーザーです。または、少なくとも 90% 満足しています。PGV はos.popen3Python 2.6 で非推奨の警告を示しており、この問題のパッチを含む18 か月前のチケットはまだ組み込まれていません。ああ!

(*) 最近ますますやってます…

于 2010-06-04T04:19:49.460 に答える
4

Python 2.7で私にとってうまくいったのは次のとおりです。Python 2.6 でも同様に動作するはずです。前提条件: 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"

\lib ではなく、\bin であることに注意してください。ライブラリとのリンクはうまくいきませんでした。

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 の site-packages フォルダーにコピーします。

楽しみ!

于 2011-09-24T04:42:46.810 に答える
1

同じ問題を抱えていて、ようやく機能するようになりました! 問題は実際には Python の msvc9compiler.py にありました (そうです、VS8 の vc9 もコンパイルする必要があります)。エラーは、関数 runtime_library_dir_option() の 698 行目に発生します。エラーをスローする代わりに、library_dir_option() と同じ文字列を返すようにします。

def runtime_library_dir_option(self, dir):
    return "/LIBPATH:" + dir

次に、コンパイルすると動作するはずです。

于 2011-07-29T16:13:53.723 に答える
1

setup.py の 147 行目の拡張ディクショナリから「runtime_library_dirs」パラメータを削除すると、エラー メッセージが表示されなくなります。ただし、cgraph.lib が見つかりません。設定を次のように変更した場合

library_path=r'C:\Program Files\Graphviz2.26.3\lib\debug\lib'

すべてが準拠してインストールされます。モジュールをインポートすることはできますが、何かにアクセスしようとするとすぐに爆発します。GraphViz のソースを見ると、Windows バージョンは C#/.NET のようです。これが問題の原因でしょうか?

于 2010-06-04T16:57:45.260 に答える
0

easy_installまたは、コンパイルを使用して回避することもできます。easy_installのフォークである「distribute」をインストールしました。ただし、pkg-configも必要であり、それをコンパイルするか、古いバージョンを入手する必要があります。さらに、アプリケーションパスにpkg-configを追加する必要もあります。

于 2010-12-16T23:26:12.143 に答える
0

次の設定で、Windowsでpygraphvizをコンパイルできました。

Windows 7、WinPython-32bit-2.7.6.3、Graphviz2.38、Microsoft Visual C++ 2008 Express Edition、pygraphvize 1.3 dev

setup.py の 35 行目と 36 行目を次のように変更しました。

include_dirs = r"C:\Program Files\Graphviz2.38\include" library_dirs = r"C:\Program Files\Graphviz2.38\lib\release\lib"

コンパイルが機能し、動作する pygraphviz python モジュールが得られます。

これが役立つことを願っています。

于 2014-07-17T07:41:28.090 に答える