python中一个包可以对应多个模块吗_如何使用setuptools创建包含多个模块的python包?...

我想用几个模块组织一个发行版。最终会有一个C扩展模块,在同一个“级别”,几个纯python模块。我不确定是否应该将顶层视为命名空间。在

首先,我想创建一个模块蒙蒂·斯帕姆. 它将是一个C扩展。我把这个从Extending Python docs.拿出来的

monty/spam/spammodule.c#include

static PyObject * spam_system (PyObject * self, PyObject * args)

{

const char * command;

int sts;

if (!PyArg_ParseTuple (args, "s", &command))

return NULL;

sts = system (command);

return Py_BuildValue ("i", sts);

}

static

PyMethodDef SpamMethods [] = {

{ "system", spam_system, METH_VARARGS, "Execute a shell command" },

{ NULL, NULL, 0, NULL }

};

PyMODINIT_FUNC

initspam (void)

{

(void) Py_InitModule ("spam", SpamMethods);

}

我创建了一个设置工具设置.py在同一个目录中,运行“python设置.py“开发”模块运行良好。在

蒙蒂/垃圾邮件/设置.py在

^{pr2}$

在monty目录中:python -c 'import monty.spam'

Traceback (most recent call last):

File "", line 1, in

ImportError: No module named monty.spam

所以现在我想创建一个垃圾邮件“住在”蒙蒂的发行版。我在设置.py在蒙蒂目录里。(两个目录都有一个空的__init__.py)

我最近在蒙蒂的尝试/设置.py:(是的,find_包()在此版本中没有实用程序。)from setuptools import setup, Extension, find_packages

module = Extension ('spam', sources = [ './spam/spammodule.c' ])

print find_packages ()

setup (

name = 'MontyP',

version = '0.2',

namespace_packages = [ 'monty' ],

packages = find_packages (),

description = 'pure spam',

ext_modules = [ module ]

)

没有欢乐!在python setup.py develop

['spam']

error in MontyP setup command: Distribution contains no modules or packages for namespace package 'monty'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值