gpt4 book ai didi

python - 使用 "python compile.py"且无 "build"命令行参数编译 cython 代码

转载 作者:行者123 更新时间:2023-12-01 08:49:57 25 4
gpt4 key购买 nike

我有一个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

问题:如何修改上面的脚本,使其可以用pythoncompile.py运行?

最佳答案

  • 方法#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 友情提供)。

关于python - 使用 "python compile.py"且无 "build"命令行参数编译 cython 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53171841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com