我有一个compile.py脚本:
from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules = cythonize("module1.pyx"))
编译我的Cython代码。缺点是我必须使用命令行参数build
来调用它:
python compile.py build
相反,我希望能够像往常一样直接使用 CTRL + B 从Sublime Text调用此compile.py
。为此,它应该在以下位置工作:
python compile.py
问题:如何修改上述脚本,使其可以与python compile.py
一起运行?
答案 0 :(得分:0)
方法1 :
像这样使用script_args
:
setup(ext_modules=cythonize("module1.pyx", build_dir="build"), script_args=['build'])
或
setup(ext_modules=cythonize("module1.pyx", build_dir="build"), script_args=['build_ext'])
(都是工作)。
如果要将输出文件放在同一目录中,可以使用:
setup(ext_modules=cythonize("module1.pyx", build_dir="build"), script_args=['build'],
options={'build':{'build_lib':'.'}})
或
setup(ext_modules=cythonize("module1.pyx", build_dir="build"), script_args=['build_ext'],
options={'build_ext':{'inplace':True}})
方法2 :
将此添加到顶部:
import sys; sys.argv = ["", "build"]
有点像黑客,但它工作正常,避免像Build and run with arguments in Sublime Text 2(@ Melvin友善地提供链接)那样创建新的构建系统。