Ask Your Question

NameError: name 'Integer' is not defined

asked 2016-11-10 15:25:50 +0200

0x22 gravatar image

updated 2017-08-01 19:15:03 +0200

FrédéricC gravatar image

Hi, all of a sudden, I'm experiencing a strange error and cannot find any solution for it. Sage itself works fine, but as soon as I try to load any .sage file, the application can't start. Inside sage I can do any calculation/operation as usual, but if I for example load an application that contains:


sage returns:

NameError                                 Traceback (most recent call last)
<ipython-input-1-496f9e9073df> in <module>()
----> 1 load("u.sage")

sage/structure/sage_object.pyx in sage.structure.sage_object.load (/build/sagemath/src/sage-7.4/src/src/build/cythonized/sage/structure/sage_object.c:12333)()

/usr/lib/python2.7/site-packages/sage/repl/load.pyc in load(filename, globals, attach)
    245             if attach:
    246                 add_attached_file(fpath)
--> 247             exec(preparse_file(open(fpath).read()) + "\n", globals)
    248     elif ext == '.spyx' or ext == '.pyx':
    249         if attach:

/usr/lib/python2.7/site-packages/sage/structure/ in <module>()

NameError: name 'Integer' is not defined

Yesterday everything was working fine. I hadn't done any system upgrades and the error appears on programs written and working yesterday and on new written programs.

Does anyone know how to solve this error or where it suddenly comes from? A restart didn't change anything...

edit retag flag offensive close merge delete


For some reason sage.all isn't being imported. Can you tell us exactly what you are doing to load? Is this on your personal computer or in the cloud or ... ? Tell us as much detail about your specific situation as you can.

kcrisman gravatar imagekcrisman ( 2016-11-10 16:16:25 +0200 )edit

Similar but due to an incompatibility in processors, maybe:

kcrisman gravatar imagekcrisman ( 2016-11-10 16:17:45 +0200 )edit
kcrisman gravatar imagekcrisman ( 2016-11-10 16:18:24 +0200 )edit

This is happening when I am in the sage terminal (local, not in the cloud) and I type load("file.sage"). The machine is running arch-linux. I'm not using notebook or anything else. Just the simple sage console. Everything else works fine. When I - instead of loading the file inside sage - type in my bash sage file.sage, sage creates a .py file and works fine too. There seems to be an error retrieving the file inside sage and I don't know why. EDIT: I'm using a AMD A10-5750M APU.

0x22 gravatar image0x22 ( 2016-11-19 15:49:58 +0200 )edit


on (Jupyter notebook) I do not understand why I got the error:

<ipython-input-2-73242bf2b10b> in __init__(self, diceT, diceColorT)
     57             freqT = np.array(self.diceT[die])
     58             # array multiplication term by term with numpy with SageMath Integer format setting
---> 59             valueT = [Integer(a) for a in np.bincount(freqT)]
     60             nonZeroValueT=[Integer(a) for a in np.nonzero(valueT)[0]]

NameError: global name 'Integer' is not defined

and the same code is error free on my local sage 8.2 W10 notebook. do I have to import a library ?

ortollj gravatar imageortollj ( 2018-07-22 14:46:25 +0200 )edit

2 Answers

Sort by » oldest newest most voted

answered 2018-08-04 22:17:04 +0200

nbruin gravatar image

updated 2018-08-09 23:46:20 +0200

You can avoid having to prefix functions with sage.all. all the time by using from sage.all import *. That should put all the standard sage bindings in your namespace, so that you can use Integer etc. as usual. This is essentially what the sage shell does to make the default sage bindings available.

edit flag offensive delete link more


Thanks nbruin

ortollj gravatar imageortollj ( 2018-08-11 08:03:53 +0200 )edit

answered 2018-07-22 15:26:26 +0200

ortollj gravatar image

updated 2018-08-04 17:50:19 +0200

for my case on site I need to add import sage.all. and each time I use a specific SageMath function I need to add sage.all. in front of Integer()

also for show, and Arrangement(), no error since I add this sage.all. every time I use a sage function . ;-)

it is the link given by kcrisman which help me, the first one : (edited , I made an error on the good link )

I put below a link on my cocalc code:

edited: the link was wrong . now it is ok. non-TransitiveDice cocalc public code

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2016-11-10 15:25:50 +0200

Seen: 8,364 times

Last updated: Aug 09 '18