【问题标题】:how to "install" custom python module made by boost.python如何“安装”由 boost.python 制作的自定义 python 模块
【发布时间】:2015-04-13 21:12:22
【问题描述】:

我用 boost.python 制作了一个.so 模块,可以从本地文件夹导入它。

|--my_class.so
|--python_code.py

在 python_code.py 中

from my_class import *

显然,如果我将python_code.py 放在不同的文件夹中,from my_class import * 会失败。

我想知道是否有一种方法可以在 gobal 包位置“安装”my_class.so,我可以从任何 python 脚本中导入它。所以 my_classnumpy 这样的包具有相同的状态。

【问题讨论】:

    标签: python c++ boost


    【解决方案1】:

    您应该能够将 .so 文件移动到 Python 库路径中的某个位置。在我的机器上,一个例子是目录 /usr/lib/python2.7

    您可能会考虑这样做的一种方法是使用 setup.py 文件,该文件可以配置为处理您的构建和安装。

    过去我有时只是手动将其复制到那里进行测试,或者将以下内容放入 Makefile 以便在编译后复制:

    #
    #   Install the python module
    #
    install: /usr/local/lib/python2.7/dist-packages/MyModule.so
    
    /usr/local/lib/python2.7/dist-packages/MyModule.so: python-module
        cp $(BIN)MyModule.so /usr/local/lib/python2.7/dist-packages/MyModule.so
    

    【讨论】:

    • 我找到this link,我想我必须手动添加它。它会自动为您加载吗?
    • 是的,如果模块在 pythonpath 中,它将加载。检查您正在使用的 python 版本并将 .so 文件添加到目录之一,例如 /usr/lib/python2.7/dist-packages/*.so
    猜你喜欢
    • 1970-01-01
    • 2020-08-14
    • 2012-06-01
    • 2015-07-03
    • 2015-05-26
    • 2011-09-01
    • 1970-01-01
    • 2020-11-02
    • 2014-06-10
    相关资源
    最近更新 更多