小编M4u*_*ice的帖子

Python + setuptools:分发带有 boost.python 绑定的预编译共享库

我有一个 C++ 库(我们将在下面将其称为示例),我使用 boost.python 库为其编写了 Python 绑定。这个 Python 包装的库将被称为 pyExample。整个项目是使用 CMake 构建的,生成的 Python 包装库是一个名为libpyExample.so.

当我使用与 位于同一目录中的 Python 脚本中的 Python 绑定时libpyExample.so,我只需编写:

import libpyExample
libpyExample.hello_world()
Run Code Online (Sandbox Code Playgroud)

这将执行一个hello_world()由包装过程公开的函数。

我想做的事

为方便起见,我希望我的 pyExample 库可以从任何地方使用该命令

import pyExample
Run Code Online (Sandbox Code Playgroud)

我还希望 pyExample 可以通过一个命令轻松安装在任何 virtualenv 中。所以我认为一个方便的过程是使用 setuptools 来实现这一点。因此,这意味着:

  • 使libpyExample.so任何 Python 脚本可见
  • 更改访问模块的名称

我确实找到了很多关于使用 setuptools 编译 C++ 扩展的内容,但没有找到关于打包预编译 C++ 扩展的内容。我想要做的甚至可能吗?

我不想做的事

我不想使用 setuptools 构建 pyExample 库,我想避免过多修改现有项目。CMake 构建很好,我可以libpyExample.so很容易地检索文件。

c++ python boost setuptools

5
推荐指数
1
解决办法
1713
查看次数

How to get a list of Bokeh widget events and attributes (which can be used to trigger a Python callback)

The real (general) question

I am new to Bokeh and I am trying to build a plot which can be dynamically updated based on input provided by a widget. However, usage of Python callbacks is not thoroughly documented for most widgets and therefore I'm stuck.

  1. How can I know which widget method I should use to attach my callback? I can guess the available choices by probing the widgets attributes in an interactive console, but that's not elegant and I'm …

python bokeh

5
推荐指数
1
解决办法
577
查看次数

CMake:手动设置MPI标头和二进制文件的路径

我正在开发一个MPI应用程序,它需要运行MPI的特定实现(让我们称之为MPIvA).在我的工作站上,安装了MPI的另一个实现(我们称之为MPIvB).

我的应用程序是使用CMake构建的,find_library(MPI)显然指向MPIvB.它编译和运行没有麻烦.

我在我的工作站上编译了MPIvA.如何让CMake使用这些头文件和二进制文件?

c++ cmake mpi

4
推荐指数
2
解决办法
4572
查看次数

标签 统计

c++ ×2

python ×2

bokeh ×1

boost ×1

cmake ×1

mpi ×1

setuptools ×1