pymatbridge のバージョン 0.3 では、ZMQ の追加の依存関係が追加されました。したがって、このバージョンをインストールするにmessenger
は、zeromq の dll にリンクする mex 拡張機能をコンパイルする必要がある場合があります。ただし、場合によっては、これを行うのがかなり難しいことがわかります。
Windows を実行しているマシンにソースから pymatbridge をインストールした成功事例の例はありますか?
pymatbridge のバージョン 0.3 では、ZMQ の追加の依存関係が追加されました。したがって、このバージョンをインストールするにmessenger
は、zeromq の dll にリンクする mex 拡張機能をコンパイルする必要がある場合があります。ただし、場合によっては、これを行うのがかなり難しいことがわかります。
Windows を実行しているマシンにソースから pymatbridge をインストールした成功事例の例はありますか?
これが私のセットアップとビルドの手順です。冗長で申し訳ありません。これは、私が実験ノートに書いたものです。
仕様:
Windows 8.1 (64 bit)
Anaconda 1.9.1
python 2.7.6
MinGW
TDM GCC 4.8.1
最初にインストールしMS Visual C++ & SDK 7.1
ました。かなり早い段階でインストールが失敗する理由として考えられるのは、Visual C++ コンパイラの他のバージョンや SDK が存在することです。SDK 7.1 を正常にインストールする前に、それらのかなりの数をアンインストールする必要がありました。
まず、 を使用してWindows SDK 7.1 Command Prompt
、私は
mex -setup
新しくインストールされたコンパイラを選択しました。私の場合
Select a compiler:
[1] Microsoft Software Development Kit (SDK) 7.1 in
C:\Program Files (x86)\Microsoft Visual Studio 10.0
[0] None
Compiler:
私は number を選ぶことにしまし1
た。次に、ビルド済みの 64 ビットをダウンロードしてインストールZMQ 3.2.4
し、ZMQ 3.2.4 のインストール場所からC:\Program Files\ZeroMQ 3.2.4\lib
をコピーしlibzmq-v90-mt_3_2_4.lib
、メッセンジャー ビルド ディレクトリにをコピーしました。とそのディレクトリにも入れましたが、今のところ、それらが本当に必要かどうかはわかりません。libzmq-v90-mt_3_2_4.dll
C:\Program Files\ZeroMQ 3.2.4\bin
~\python-matlab-bridge\messenger\src
zmq.h
zmq_utils.h
次に、ディレクトリWindows SDK 7.1 Command Prompt
にcdしてmessenger\src
発行しました
mex messenger.c libzmq-v90-mt-3_2_4.lib -O -output messenger
を取得しmessenger.mexw64
ます。最後に、~\python-matlab-bridge directory
を使用してMinGW
、私はただ
python setup.py install
Anaconda\Lib\site-packages
これにより、ビルドされたパッケージが卵情報とともに自動的に my に入れられます。にAnaconda\Lib\site-packages\pymatbridge\matlab
は、messenger.mexw64
以前に構築された があります -- from ~\python-matlab-bridge\messenger\src
。また、適切な測定のために、他のAnaconda\Lib\site-packages\pymatbridge\matlab
すべての 、 、およびにコピーしました。、またはiPython Notebook で、次のことができます。.dll
.lib
.h
iPython 2.7 console
%load_ext pymatbridge
成功しました。
他の回答のいくつかは少し古くなっていますが、これは今でははるかに簡単に実行できます (Linux システムではまだ簡単ではありません:/)。まず第一に、pymatbridge には、libzmq に静的にリンクされている Windows 上のバイナリ mex が含まれるようになったため、実際に何かをコンパイルして動作させる必要はありません。
ただし、それでもソースからコンパイルしたい場合は、動的にリンクされたライブラリのプロセスはそれほど悪くありません。
1) Web サイトから zeromq をインストールします: http://zeromq.org/distro:microsoft-windows
2) lib/libzmq-*.lib ファイルの 1 つを、ZeroMQ インストール ディレクトリの libzmq.lib に名前変更します。
3) ZeroMQ bin ディレクトリをパスに追加します。
4) メッセンジャーでメッセンジャー/mexw64/local.cfg ファイルを編集して、zeromq インストール ディレクトリを指すようにします (ZMQ_INC と ZMQ_LIB の両方を更新する必要があります)。また、MATLAB ディレクトリが正しいことを確認してください。
5)make.py matlab
メッセンジャー ディレクトリで実行します。これにより、messenger.mexw64 がビルドされます。
静的にリンクされたライブラリは実際には単純ですが、(現時点では) zeromq は Windows インストーラーとの静的リンク用の .lib を提供していないため、これを自分でコンパイルする必要があります。静的 .lib を作成したら、messenger.mexw64 をビルドします。make matlab --static