Eclipse 我可以配置pydev自动编译cython文件吗?

Eclipse 我可以配置pydev自动编译cython文件吗?,eclipse,pydev,distutils,cython,Eclipse,Pydev,Distutils,Cython,我只是去接赛顿。我正在用它在我的Python项目中构建一个核心库。目前,我已使用distutils配置了一个setup.py文件,每当我想重新编译Cython文件时,我都会运行以下命令: python ./setup.py build_ext --inplace 然而,我常常忘记。我喜欢每次编辑/保存时Eclipse自动为Java构建类文件的方式。有可能为PyDev、Eclipse或其他聪明的方式配置类似的行为吗?目前PyDev中没有特别的支持在cython文件发生更改时自动编译它们。。。如果

我只是去接赛顿。我正在用它在我的Python项目中构建一个核心库。目前,我已使用
distutils
配置了一个
setup.py
文件,每当我想重新编译Cython文件时,我都会运行以下命令:

python ./setup.py build_ext --inplace

然而,我常常忘记。我喜欢每次编辑/保存时Eclipse自动为Java构建类文件的方式。有可能为PyDev、Eclipse或其他聪明的方式配置类似的行为吗?

目前PyDev中没有特别的支持在cython文件发生更改时自动编译它们。。。如果需要,可以创建外部生成器:

右键单击project>properties>builders>new>program,然后将程序配置为python,将模块作为参数运行,并将${build_files}变量作为参数接收


您可能应该检查某个更改的文件是否是.pyx文件,如果是,则调用该文件的实际构建命令,也可能是依赖项。

您可以在基本python路径中使用调用的“魔法”自动获取cython编译,即使它需要一些安装详细信息(例如,在windows下,您的mingw位置),以下是一个例子:

import pyximport
import os
import numpy
#import cython
import Cython.Compiler.Options as Options
Options.cimport_from_pyx = True

if os.name == 'nt':
    if os.environ.has_key('CPATH'):
        os.environ['CPATH'] = os.environ['CPATH'] + numpy.get_include()
    else:
        os.environ['CPATH'] = numpy.get_include()

    # XXX: we're assuming that MinGW is installed in C:\MinGW (default)
    if os.environ.has_key('PATH'):
        os.environ['PATH'] = os.environ['PATH'] + ';C:\MinGW\bin'
    else:
        os.environ['PATH'] = 'C:\MinGW\bin'

    mingw_setup_args = { 'options': { 'build_ext': { 'compiler': 'mingw32' } } }
    pyximport.install(setup_args=mingw_setup_args)
elif os.name == 'posix':
    if os.environ.has_key('CFLAGS'):
        os.environ['CFLAGS'] = os.environ['CFLAGS'] + ' -I' + numpy.get_include()
    else:
        os.environ['CFLAGS'] = ' -I' + numpy.get_include()

    pyximport.install()

pyximport.DEBUG_IMPORT = True
请注意,如果您在windows下,请记住您的cython必须使用mingw


您还应该调用您的文件*.pyx以使其工作。另一个建议:您应该使用cython“纯python”,这样Pydev编辑器就不会抱怨了。

不过cython支持