python - 在 Windows 上安装 pymatbridge

标签 python matlab zeromq ipython-magic

在 pymatbridge 的 0.3 版本中,为 ZMQ 添加了一个额外的依赖项。因此,要安装此版本,您可能需要编译链接到 zeromq 的 dll 的 messenger 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 命令提示符,我

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:

我选择选择数字 1。 接下来,我下载并安装了预构建的 64 位 ZMQ 3.2.4,并从 ZMQ 3.2.4 安装位置 C:\Program Files\ZeroMQ 3.2.4\lib ,我从 C:\Program Files\ZeroMQ 3.2.4\bin 到 messenger 构建目录,~\python-matlab-bridge\messenger\src。 我还将 zmq.hzmq_utils.h 放入该目录,但截至目前我不确定它们是否真的有必要。

然后,在 Windows SDK 7.1 命令提示符 中,我 cd 到 messenger\src 目录并发出

mex messenger.c libzmq-v90-mt-3_2_4.lib -O -output messenger

获取messenger.mexw64。 最后,在 ~\python-matlab-bridge 目录中,使用 MinGW,我只是

python setup.py install

这会自动将构建的包连同一个鸡蛋信息放入我的 Anaconda\Lib\site-packages 中。在 Anaconda\Lib\site-packages\pymatbridge\matlab 中有之前构建的 messenger.mexw64 -- 来自 ~\python-matlab-bridge\信使\源。 我还将所有其他 .dll.lib 复制到 Anaconda\Lib\site-packages\pymatbridge\matlab。 h 是很好的衡量标准。 现在,在 iPython 2.7 控制台 或 iPython Notebook 中,我可以

%load_ext pymatbridge

成功了。

关于python - 在 Windows 上安装 pymatbridge,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23716426/

相关文章:

node.js - NPM 在 OSX 10.9.5 上安装 zmq 失败

python - 为什么 (Py)ZeroMQ 打开那么多 Unix socket 文件?

python - 如何使用 Bokeh 绘制 html 表格?

python - 使用 pandas.shift() 根据 scipy.signal.correlate 对齐数据集

arrays - 是否可以在 Matlab 中定义一个数组来保存数学运算符 [+ - */]?

python - 如何使用 h5py 导入 .mat-v7.3 文件

matlab - matlab中如何将向量的每一行与其下一行值相除

c++ - zmq 在清理期间卡在 zmq_proxy()

python - 使用美丽汤通过文本内容查找元素,而不是文本?

python - 返回单元素 Numpy 数组的简洁方法