我一定是在做一些愚蠢的事.我在Google App Engine中运行它:
class MainHandler(webapp.RequestHandler):
def render(self, template_name, template_data):
path = os.path.join(os.path.dirname(__file__), 'static/templates/%s.html' % template_name)
self.response.out.write(template.render(path, template_data)) # error here
def get(self):
self.response.out.write("hi")
def main():
application = webapp.WSGIApplication([('/', MainHandler)],
debug=True)
util.run_wsgi_app(application)
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
这给出了一个错误:
Traceback (most recent call last):
File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3192, in _HandleRequest
self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3135, in _Dispatch
base_env_dict=env_dict)
File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 516, in Dispatch
base_env_dict=base_env_dict)
File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2394, in Dispatch
self._module_dict)
File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", …Run Code Online (Sandbox Code Playgroud) 注意:解决了.事实证明我正在导入同一模块的先前版本.
在StackOverflow上很容易找到类似的主题,其中有人遇到了NameError.但大多数问题涉及特定模块,解决方案通常是更新模块.
在我的情况下,我试图从我自己编写的模块中导入一个函数.该模块名为InfraPy,它肯定在sys.path上.InfraPy中的一个特定函数(称为listToText)返回一个NameError,但仅当我尝试将其导入另一个脚本时.在InfraPy中,if __name__=='__main__':listToText函数工作得很好.从InfraPy我可以毫无问题地导入其他功能.from InfraPy import *在我尝试使用listToText函数之前,包括在我的脚本中不会返回任何错误.
怎么会发生这种情况?
如何导入一个特定函数返回一个NameError,而导入同一个模块中的所有其他函数工作正常?
在MacOSX 10.6上使用python 2.6,在Windows 7上运行脚本也遇到了同样的错误,使用IronPython 2.6 for .NET 4.0
谢谢.
如果您认为有其他细节可以帮助解决这个问题,我很乐意提供它们.
根据要求,这里是InfraPy内部的功能定义:
def listToText(inputList, folder=None, outputName='list.txt'):
'''
Creates a text file from a list (with each list item on a separate line). May be placed in any given folder, but will otherwise be created in the working directory of the python interpreter.
'''
fname = outputName
if folder != None:
fname = folder+'/'+fname
f = open(fname, 'w')
for …Run Code Online (Sandbox Code Playgroud) 我搜索了其他有这个问题的帖子,找不到解决我这个问题的帖子.我的爱尔兰很疯狂.我正在尝试更改数据库中的用户角色,但我甚至无法联系到我的用户!
irb(main):001:0> User.all
NameError: uninitialized constant Object::User
from (irb):1
from c:/Ruby192/bin/irb:12:in `<main>'
Run Code Online (Sandbox Code Playgroud)
它工作正常,停止工作,很好,现在再次停止.我有一个用户模型和用户添加.我无法确定这个问题.让我知道您需要查看哪些代码.谢谢!
我在Windows命令行中遇到此错误,进行了广泛的搜索,但无法得到一个完美的答案.请在下面找到错误并帮助解决.
python
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'python' is not defined
>>>
Run Code Online (Sandbox Code Playgroud)
提前致谢,
我在尝试运行我的应用程序时遇到错误,最近安装了ActiveAdmin.它工作正常,但是,在闲置一段时间后,突然间它不是!
在我的gem文件中:
gem 'activeadmin'
Run Code Online (Sandbox Code Playgroud)
在我的路线:
devise_for :admin_users, ActiveAdmin::Devise.config
ActiveAdmin.routes(self)
Run Code Online (Sandbox Code Playgroud)
在我的admin_user.rb中
ActiveAdmin.register AdminUser do
index do
column :email
column :current_sign_in_at
column :last_sign_in_at
column :sign_in_count
default_actions
end etc....
Run Code Online (Sandbox Code Playgroud)
尝试运行时出错:
NameError: uninitialized constant AdminUser
~/Desktop/Sites/Fleetnation/app/admin/admin_user.rb:1:in `<top (required)>'
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.11/lib/active_support/inflector/methods.rb:230:in `block in constantize'
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.11/lib/active_support/inflector/methods.rb:229:in `each'
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.11/lib/active_support/inflector/methods.rb:229:in `constantize'
...
Run Code Online (Sandbox Code Playgroud)
有人有任何想法吗?非常感谢.
我查看了各种类似的问题,但是找不到符合我情况的问题(或者可能有一个,但我是编程的新手).
我使用的Python版本是2.7.4,我在程序中遇到第11行的错误: NameError: global name 'opp' is not defined
我想制作一个地板尺寸的计算器.这是我的代码:
def oppervlakte():
global lengte
global br
global opp
lengte = raw_input("Voer de lengte in: ") # Put in the length
br = raw_input("Voer de breedte in: ") # Put in the width
opp = lengte * br # Calculates the dimension of the floor
return int(lengte), int(br) # Makes the variables lengte & br an integer
print opp
Run Code Online (Sandbox Code Playgroud)
既然我现在得到了答案,我想与你分享,所以这里是:
def oppervlakte():
lengte = raw_input("Voer de lengte in: ") # Asks …Run Code Online (Sandbox Code Playgroud) 我正在测试一个修复程序pdb.set_trace(),以确保它在实现之前按照我预期的方式工作并且不断出现一个奇怪的错误.
(Pdb) test = [1,2,3,4,4,3,2,1]
(Pdb) max(range(len(test)),key=lambda i: test[i])
*** NameError: global name 'test' is not defined
Run Code Online (Sandbox Code Playgroud)
所以我搬到了我的本地机器,以确保在寻求帮助之前尽可能简单地复制.在ipython中,我得到完全相同的行为.
In [1]: test = [1,2,3,4,4,3,2,1]
In [2]: max(range(len(test)),key=lambda i: test[i])
Out[2]: 3
In [3]: import pdb; pdb.set_trace()
--Call--
> /Users/tristanmatthews/anaconda/lib/python2.7/site-packages/IPython/core/displayhook.py(237)__call__()
-> def __call__(self, result=None):
(Pdb) test = [1,2,3,4,4,3,2,1]
(Pdb) max(range(len(test)),key=lambda i: test[i])
*** NameError: global name 'test' is not defined
Run Code Online (Sandbox Code Playgroud)
但在正常的命令行,它工作得很好:
tristan:~$ python
Python 2.7.6 |Anaconda 1.8.0 (x86_64)| (default, Nov 11 2013, 10:49:09)
[GCC 4.0.1 (Apple Inc. build 5493)] on …Run Code Online (Sandbox Code Playgroud) 我正试图在Jupyter跑步
import pandas as pd
import matplotlib.pyplot as plt # plotting
import numpy as np # dense matrices
from scipy.sparse import csr_matrix # sparse matrices
%matplotlib inline
Run Code Online (Sandbox Code Playgroud)
但是在加载数据集时
wiki = pd.read_csv('people_wiki.csv')
# add id column
wiki['id'] = range(0, len(wiki))
wiki.head(10)
Run Code Online (Sandbox Code Playgroud)
NameError Traceback (most recent call last)
<ipython-input-1-56330c326580> in <module>()
----> 1 wiki = pd.read_csv('people_wiki.csv')
2 # add id column
3 wiki['id'] = range(0, len(wiki))
4 wiki.head(10)
NameError: name 'pd' is not defined
Run Code Online (Sandbox Code Playgroud)
任何建议赞赏
我有一个名为 handshake.py 的文件。哪里有函数send_data(argument)。我想将该函数导入另一个名为 siptest.py 的文件。我遇到两个问题。我在 64 位 Windows 7 上使用 microsoft Visual Studio。1)我无法导入功能。我试过使用,
from handshake import*
handshkae.send_data(argument)
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误。
NameError: global name 'handshake' is not defined
Run Code Online (Sandbox Code Playgroud)
我尝试过的另一个选择是使用
import handshake
handshake.send_data(argument)
Run Code Online (Sandbox Code Playgroud)
这给了我一个属性错误。
AttributeError: 'module' object has no attribute 'send_data'
Run Code Online (Sandbox Code Playgroud)
如果我以其他方式使用它,例如
from handshake import send_data
Run Code Online (Sandbox Code Playgroud)
2) MS Visual Studio 说。没有发现测试,请检查配置设置,但我仍然可以以某种方式运行测试。它说由于导入错误而导致测试失败。
ImportError: cannot import name send_data
Run Code Online (Sandbox Code Playgroud)
这两个文件都在同一目录中。此外,该函数是在handshake.py 中的“TCPhandshake”类中定义的
我在使用以下 Python 代码时遇到问题:
class Methods:
def method1(n):
#method1 code
def method2(N):
#some method2 code
for number in method1(1):
#more method2 code
def main():
m = Methods
for number in m.method2(4):
#conditional code goes here
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我得到
NameError: name 'method1' 未定义。
如何解决此错误?
nameerror ×10
python ×6
activeadmin ×1
constants ×1
function ×1
global ×1
import ×1
importerror ×1
irb ×1
lambda ×1
pandas ×1
pdb ×1
python-2.7 ×1
scapy ×1