免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2862 | 回复: 1
打印 上一主题 下一主题

python Extension的一个问题 [复制链接]

论坛徽章:
2
IT运维版块每日发帖之星
日期:2015-09-07 06:20:00IT运维版块每日发帖之星
日期:2015-09-07 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-07 11:05 |只看该作者 |倒序浏览
之前写了一个python的Extension,打包后放到工作目录下,然后用python import里面的模块,却总提示找不到指定的模块,求救啊:(
我的代码如下:
C++代码:
[code=C/C++]#include <Python.h>
#include "Core/iptcore.h"
#include "Core/def.h"
#include <string>
using namespace std;

static PyObject* LoadCore(PyObject *self,PyObject *args){
        IptLibfiles libFiles = {0};
        if(!PyArg_ParseTuple(args,"ssssssssssss",libFiles.zi_file,libFiles.cz_file,libFiles.us_file,
                libFiles.ft_file,libFiles.en_file,libFiles.en_us_file,libFiles.bh_file,libFiles.cell_stub_file,
                libFiles.wb_file,libFiles.var_file,libFiles.cp_file,libFiles.sym_file))
                return NULL;
        int res = ipt_core_load(&libFiles);
        return PyLong_FromLong(res);
}

static PyObject* UnLoadCore(PyObject *self,PyObject *args){
        PLINT32 res = ipt_core_unload();
        return PyLong_FromLong(res);
}


static PyMethodDef _corePluginMethods[] = {
        {
                "LoadCore",LoadCore,METH_VARARGS,"Load the Core."
        }
        ,{
                "UnLoadCore",UnLoadCore,METH_VARARGS,"Unload the core."
        }
        ,{
                NULL,NULL,0,NULL
        }
};

static struct PyModuleDef _corePluginModule = {
        PyModuleDef_HEAD_INIT,
        "_corePlugin",
        NULL,
        -1,
        _corePluginMethods
};


PyMODINIT_FUNC PyInit__corePlugin(void){
        return PyModule_Create(&_corePluginModule);
}[/code]
setup.py:
[code=Python]from distutils.core import setup, Extension

module1 = Extension(
    '_corePlugin'
    ,sources = ['CorePlugin.cpp','Core\\iptc.c','Core\\iptcore.c','Core\\array.c','Core\\bh.c','Core\\candarr.c','Core\\category.c'
               ,'Core\\cell.c','Core\\contacts.c','Core\\dmem.c','Core\\en.c','Core\\iptfile.c','Core\\iptlib.c','Core\\llist.c'
               ,'Core\\oldch3.c','Core\\phrase.c','Core\\py.c','Core\\py_sentence.c','Core\\py_sys.c','Core\\py_us.c','Core\\stack.c'
               ,'Core\\sym.c','Core\\utils.c','Core\\uz.c','Core\\var.c','Core\\wb.c','Core\\widechar.c']
    ,include_dirs = ['C:\\Program Files\\Microsoft Visual Studio 8\\VC\\include','Core\\']
    ,library_dirs = ['C:\\Program Files\\Microsoft Visual Studio 8\\VC\\lib']
    ,define_macros = [('WIN32','1')]
)

setup(name = 'corePlugin',version = '1.0',description = 'This is the demo package', ext_modules = [module1])[/code]

在python命令行里:
import corePlugin
import _corePlugin
都不行,怎么办啊,之前写过一个demo都是正常的,到这个就不行了……

论坛徽章:
0
2 [报告]
发表于 2011-06-07 16:42 |只看该作者
回复 1# phoenixlwp
看你的setup脚本只有_corePlugin模块, corePlugin确实不存在啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP