-1

我正在使用 Win 8、Eclipse 和 Pydev。我安装了 Pydev,它可以运行简单的 python 脚本。不幸的是,我想使用数学模块,它在数学命令旁边得到错误符号。 在此处输入图像描述

未定义的变量。

如果您能帮助我摆脱错误标志,我将不胜感激。

最好的问候,彼得

4

4 回答 4

2

'math' 应该在窗口 > 首选项 > pydev > 解释器 - python 中标记为“强制内置”(如果不是,那是你的问题)。

如果配置正确,则可能意味着 PyDev 无法生成 shell 来检查数学模块,在这种情况下,通常意味着有一些防火墙阻止了该通信(如果是这样,通常您的错误日志中有条目 - - 有关更多详细信息,请参见:http ://pydev.org/faq.html#when_i_do_a_code_completion_pydev_hangs_what_can )。

于 2012-12-16T23:38:35.393 回答
0

在 PyDev 解释器配置窗格中,您需要确保 PyDev 知道在哪里可以找到 python 包。

转到 Preferences -> PyDev -> Interpreter - Python (或任何适合您的解释器)。选择解释器后,单击应用按钮。如果 ceil 函数wash 未正确注册,这可能会解决您的问题。

于 2012-12-16T18:02:44.700 回答
0

我看不到截图很好,但我看到你在第一行做:

from math import *

接着

print math.whatever

显然math这里是一个未定义的变量,因为您应该使用import math而不是from math import *

于 2012-12-16T17:05:43.963 回答
0

当您这样做时,from math import *您实际上是将数学折叠namespace到当前namespace( global namespace) 上。这意味着您不需要在以math这种方式导入的属性前面添加名称。

所以你有两种可能的解决方案:

  1. Either import math,它不会折叠 math 命名空间,但允许您通过在 math 前面加上点和属性名称来引用 math 模块的属性
  2. 或者在不添加任何内容的情况下使用属性,因为它们被复制到您的命名空间中,您可以像在脚本中定义它们一样使用它们。

例如。

  1. 对于第一种情况,math.sqrt()应该做的事情
  2. 对于第二种情况sqrt()应该这样做。
于 2012-12-16T17:13:26.867 回答