为啥每次尝试运行 Python 程序时 Eclipse 都会要求我“构建”?

Posted

技术标签:

【中文标题】为啥每次尝试运行 Python 程序时 Eclipse 都会要求我“构建”?【英文标题】:Why does Eclipse ask me to 'ant build' every time I try to run my Python program?为什么每次尝试运行 Python 程序时 Eclipse 都会要求我“构建”? 【发布时间】:2012-10-17 04:05:00 【问题描述】:

我是编程新手并使用 pydev 在 Eclipse 中运行我的 python。我正在使用 Eclipse EE 和 Python 2.7.3 我要运行的代码在这里:

def evaluate_poly(poly, x):

        sumPoly = 0

        for i in range(0,len(poly)):
            #calculate each term and add to sum.
            sumPoly = sumPoly+(poly[i]*x**i)
        return sumPoly




def compute_deriv(poly):

    derivTerm = ()

    #create a new tuple by adding a new term each iteration, assign to derivTerm each time.
    for i in range(0,len(poly)):
    #i is the exponent, poly[i] is the coefficient,
    #coefficient of the derivative is the product of the two.
        derivTerm = derivTerm + (poly[i]*i,)
    return derivTerm



def compute_root(poly, x_0, epsilon):

    #define root to make code simpler.
    root = evaluate_poly(poly,x_0)
    iterations = 0

    #until root (evaluate_poly) is within our error range of 0...
    while (root > epsilon) or (root < -epsilon):
    #...apply newton's method, calculate new root, and count iterations.
        x_0 = (x_0 - ((root)/(evaluate_poly(compute_deriv(poly),x_0))))
        root = evaluate_poly(poly,x_0)
        iterations = iterations + 1
    return (x_0,iterations)

print compute_root((4.0,3.0,2.0),0.1,0.0001)

每次我尝试运行这个 Eclipse 时都会要求我进行 ant build。当我单击确定时,没有任何反应。这只发生在我在函数内部运行函数时,看起来非常基本的代码不是问题。出了什么问题,我该如何解决?

【问题讨论】:

这是 Eclipse 的普遍烦恼,无需显示您的代码,它不会导致问题。 【参考方案1】:

如果你只有函数,python 什么也做不了。它不会无缘无故地运行任意函数。如果你想打印一些东西,你需要调用你的一个函数。最好的方法是将其添加到代码的底部:

if __name__ == '__main__':
    evaluate_poly([1, 2, 3], 4)

【讨论】:

感谢您的回复内森。我刚刚编辑了代码,因为我看到我在前两个函数中使用 print 没有返回。我在最后添加了一个打印语句来打印最后一个函数。这在我只使用一个函数时有效,但是我的代码仍然要求我进行 ant build。 @Nathan:是的,但这不是被问及的根本问题,关于 Eclipse 总是试图在任意 Python(或其他)代码上进行“ant build”。

以上是关于为啥每次尝试运行 Python 程序时 Eclipse 都会要求我“构建”?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Tizen studio 在运行 tizen tv Web 应用程序时每次都清除本地存储?

为啥不能从 Kivy 终止这个 Python 多处理进程?

为啥我的函数在每次页面加载时只运行一次?

为啥每次单元测试后我的数据库都没有被清除?

为啥 PHP 文件追加仅在 99.7% 的尝试中完全成功

为啥这个函数每次运行时都会将对象两次附加到数组中?