小编Ben*_*Ben的帖子

Boost.python与Cython for C++/python接口

我知道这已被问了一千次,但是我需要选择一个可以将C++函数和方法暴露给python的库.

考虑到我的应用程序,主要是科学(矩阵)库,以及python生成器的成熟度,支持可用性和性能,我遇到了两个选项:

  • 用Cython
  • Boost.Python的

我已经消除了(出于好的或坏的原因)其他选项,如SWIG,SIP,Pybindgen,......

关于那2个图书馆的任何建议?任何具有杀手功能的东西?

我的项目有名称空间,嵌套类,回调等.

谢谢

c++ python binding cpython boost-python

15
推荐指数
1
解决办法
4040
查看次数

如何在不使用子进程的情况下从 python 自动化脚本中运行 python 'sdist' 命令?

我正在编写一个脚本来自动打包“自制”python 模块并将其分发到远程机器上。

我正在使用 Pip 并创建了一个 setup.py 文件,但是我必须调用子进程模块来调用“python setup.py sdist”命令。

我已经查看了 distutils.core 中的“run_setup”方法,但我试图避免全部使用 subprocess 模块。(如果我已经在 python 中,我认为打开 shell 来运行 python 命令没有意义......)

有没有办法将 distutils 模块导入我的脚本并将设置信息直接传递给其方法之一并完全避免使用 shell 命令?或任何其他可能对我有帮助的建议

谢谢

python packaging subprocess distutils pip

6
推荐指数
2
解决办法
1411
查看次数

在rpyc中传递对象失败

我正在尝试使用RPyC从客户端到服务器将对象作为参数传递.但服务器无法访问该对象,我收到一个AttributeError.

服务器代码:

class AgentService(rpyc.Service):
  def exposed_func(self, obj):
    return obj.name
Run Code Online (Sandbox Code Playgroud)

客户代码

self._conn = connect(agent_host, agent_port, config = {"allow_public_attrs" : True})
return self._conn.root.func(obj)
Run Code Online (Sandbox Code Playgroud)

returns: AttributeError: cannot access 'name'.

我正在使用RPyC服务并对网站进行评估,这应该可行.

有任何想法吗?

python parameter-passing pass-by-reference rpyc

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