我需要在我的pymongo 2.8
中安装C / C ++扩展程序之前从SELECT tbl_stock.matnum, tbl_stock.sorg, tbl_stock.qty, tbl_mas_material.matname, tbl_mas_material.matgrp
FROM tbl_stock INNER
JOIN tbl_mas_material ON tbl_stock.matnum = tbl_mas_material.matnum
WHERE CAST(tbl_stock.qty AS UNSIGNED) > 0
和.cpp
生成一些.pyx
(通过本地点install-- .pxd
)。我曾经单独生成setup.py
,但这对于开发来说真的很烦人,这意味着我经常不得不提交生成的pip install path/to/my_pkg
s,这会使我的回购膨胀,而且我会#39 ;而不是做。
我过去只使用.cpp
文件生成我的.cpp
,如下所示:
cpp
然后一旦生成它们,我就运行setup.py将所有内容安装为C / C ++扩展,如下所示:
gen_cpp.sh
我真正想做的就是让我的cython src/*.pyx src/*.pxd -a --cplus --include-dir ../
文件通过setup.py运行,以便在完成其余的安装之前生成必需的cpps,但我遇到了一堵砖墙。我可以通过在setup(
name="MyPKG",
version="0.1.9",
description="some description",
author='me',
author_email='me@me.com',
url='http://www.myurl.com'',
ext_modules = [
Extension(
"something",
sources = glob.glob('src/*.cpp') + glob.glob('lib/b64/*.c'),
include_dirs=['lib'],
language = "c++",
)
]
)
中继承gen_cpp.sh
来运行gen_cpp.sh
:
install
但是这会运行setuptools.command.install
在build目录中查找文件,这显然不起作用。在做任何事情之前,我已尝试class UpdateAndInstall(install):
def run(self):
os.system("sh ./gen_cpp.sh")
install.run(self)
在该脚本中的当前工作目录,但我没有做任何事情让我到了正确的地方,这整个方法感觉更黑,更黑。怎么做