问题标签 [nameerror]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4516 浏览

ruby - 将 OpenStruct 与 ERB 一起使用时出现问题

编辑:忘记包含我的环境信息... Win7x64,RubyInstaller Ruby v1.9.1-p378

编辑 2:刚刚更新到 v1.9.1,补丁 429,仍然出现同样的错误。

编辑 3:在 Ruby v1.8.7 补丁 249 中运行相同的代码,工作正常。所以显然是 v1.9.1 打破了它。

我是使用 ERB 的新手,我能找到的样本是......嗯......不太有用......在 ERB 上玩了大约一个小时后,我得到了一些基本的例子(终于),但我有不知道为什么这不起作用...

此代码产生以下错误:

为什么它在看main:Object绑定?我告诉它通过传入来使用 OpenStruct 中的绑定vars_binding

有人可以告诉我为什么它不起作用,并帮助我让它起作用吗?

0 投票
1 回答
1716 浏览

python - 从外部模块调用类会导致 NameError,在 IDLE 中它工作正常

我在名为 code_database.py 的模块中有以下代码

在空闲时,类定义的方法工作正常:

但是,如果我从外部程序调用模块并尝试调用方法,它们会引发 NameError:

在终端中导致此问题:

0 投票
1 回答
1600 浏览

ruby - ruby: irb 给出 NameError 试图使用 mechanize gem (ubuntu)

在我的 ubuntu 机器上,当我尝试使用 mechanize gem 时,irb (ruby) 会给出 NameError:

gem env 显示了这一点:

gem list 显示它已安装:

它在文件系统的两个路径中:

RubyGems 是最新的:

我有一个最新的红宝石:

这是我拥有的 ubuntu gems 包(请注意,我安装了 ruby​​gems-update 并运行了 update_rubygems):

0 投票
3 回答
4529 浏览

python - Python 导入模块导致 NameError

我遇到了模块导入问题。

在 ubuntu 10.10 上使用 python 2.6

我在http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/有一个子类化守护进程的类。我创建了一个 python 包,其中包含一个模块,该模块包含从 django 项目中导入一些模型的代码。该代码在从类中使用时有效,而不是对守护程序进行子类化。结构看起来像:

ItemRepository 代码:

守护程序代码(在 /usr/local/bin/testdaemon.py 中):

我得到的错误是“NameError:未定义全局名称'my_module'”它通过了导入,但在尝试调用对象上的方法时失败。我假设它与 sys.path / PYTHONPATH 有关,但我知道我的 django 项目在路径上,因为我已经打印出来了。到目前为止,python 文档或 Learning Python 中没有任何帮助。有没有人有任何见解或知道对模块导入的良好参考?

更新:

现在我试图简化问题以使其更容易理解。现在我有一个看起来像这样的目录结构:

我已将 /etc/bash.bashrc 中的 $PYTHONPATH 变量设置为“/home/username/django”。

在 testdaemon.py 文件中,导入看起来像:

但现在我得到一个 ImportError:没有名为“someproj”的模块。所以我附加了路径。

现在 ImportError 说:没有名为“web”的模块。这是回溯:

因此,从我尝试添加的早期评论开始:

但这没有帮助。所以我创建了一个非常简单的文件:

这行得通!这真的只会让我更加困惑。所以现在我在想也许它与守护进程有关。它使用 os.fork() 并且我不确定路径是否仍然设置。这就是我在 /etc/bash.bashrc 文件中设置 $PYTHONPATH 变量的原因。

还有更多见解吗?我真的需要守护进程,我没有太多选择,因为我需要一个长时间运行的进程。

0 投票
1 回答
53614 浏览

python - Python:NameError:未定义全局名称“foobar”

我写了以下课程:

逻辑是荒谬的 - 忽略它。我想要做的是从另一个实例方法调用一个实例方法 - 我得到一个NameError. 我最初认为这是由于在定义之前foo()调用foobar()- 但是在脚本中切换函数定义的顺序没有任何区别。

有没有人是什么导致了这个错误,以及如何解决它?

0 投票
3 回答
488 浏览

python - 定义python多级包中的NameError

我正在尝试创建一个简单的多级包:

叶.py:

test_levels.py:

直接运行 leaf.py 可以正常工作,但运行 test_levels.py 会返回下面的输出,而我原本期望没有输出:

有人可以指出我做错了什么吗?

0 投票
1 回答
1339 浏览

validation - Rails3:嵌套模型 - 子 validates_with 方法导致“NameError - 未初始化的常量 [parent]::[child]”

考虑以下父/子关系,其中 Parent 与 Kids 为 1..n(仅此处的相关内容)...

Kid 模型上的 validates_presence_of 方法在验证失败时按预期工作,Item is expected根据提供的自定义消息属性生成最终字符串。

但是,如果尝试validates_with,则...

...RailsNameError - uninitialized constant Parent::Kid不仅在尝试创建(初始持久)用户数据之后返回错误,甚至在尝试构建初始表单时也会返回错误。来自控制器的相关位:

该错误表明在模型名称(可能还有字段名称?)解析错误消息构造期间的某个地方,发生了冲突。但是为什么某些方法会发生这种情况,validates_*而其他方法则不会呢?

还有人用这个撞墙吗?为了完成这项工作,这里是否需要一些我遗漏的仪式,特别是关于模型名称?

0 投票
4 回答
496 浏览

python - Python:无明显原因的 NameError?

我在 player() 中返回了损失,所以我不知道为什么我不断收到这个 NameError。

0 投票
3 回答
3873 浏览

ruby-on-rails - Rails 为所有命令行方法(例如 generate 或 rake)提供 NameError

我是 Rails 的初学者,过去几天我一直试图找出世界上哪里出了问题,但绝对没有运气。我到处寻找,但一无所获。基本上,当我运行任何类型的命令行方法时,我都会得到一个 NameError。我已经尝试在不同的项目目录中运行它,以及曾经工作的。看来铁轨刚刚坏了……

我正在使用 NetBeans 6.9.1 运行 Win7-32​​bit 来编辑文件,并使用 cmd.exe 来运行 rails 控制台。

一切都正常工作了大约两个星期,然后突然发生了这种情况。这里有一些例子:

rails 生成模型:

rails 生成迁移:

耙分贝:迁移:

任何形式的帮助将不胜感激。谢谢!

0 投票
2 回答
61693 浏览

python - python名称错误:名称'' 没有定义(但它是!)

注:已解决。原来我正在导入同一模块的先前版本。

在 StackOverflow 上很容易找到类似的主题,其中有人遇到了 NameError。但是大多数问题都涉及特定的模块,解决方案通常是更新模块。

就我而言,我试图从我自己编写的模块中导入一个函数。该模块名为 InfraPy,它肯定在 sys.path 上。InfraPy 中的一个特定函数(称为 listToText)返回 NameError,但仅当我尝试将其导入另一个脚本时。在 InfraPy 下if __name__=='__main__':,listToText 函数工作得很好。从 InfraPy 我可以毫无问题地导入其他功能。在我尝试使用 listToText 函数之前,包含from InfraPy import *在我的脚本中不会返回任何错误。

这怎么会发生?
导入一个特定函数如何返回 NameError,而导入同一模块中的所有其他函数可以正常工作?

在 MacOSX 10.6 上使用 python 2.6,在 Windows 7 上运行脚本也遇到相同的错误,使用 IronPython 2.6 for .NET 4.0

谢谢。

如果您认为有其他细节有助于解决这个问题,我很乐意提供。

根据要求,这是 InfraPy 内部的函数定义:

这个函数在上面和外面定义if __name__=='__main__':

我尝试根据脚本移动 InfraPy。最莫名其妙的情况是,当 InfraPy与脚本在同一个文件夹中,并且我使用 导入from InfraPy import listToText时,我收到此错误:NameError: name listToText is not defined. 同样,其他函数导入正常,它们都是if __name__=='__main__':在 InfraPy 之外定义的。