Hi, I'm new to using Sage and trying to interface to java classes using py4j. I've been successful using py4j using an anaconda installed version of python (on a mac) but I'm running into Attribute errors using Sage. The one below is 'sage.rings.integer.Integer' object has no attribute '_get_object_id'. I don't understand the reason for the differences and how to interpret the errors I'm receiving. Any assistance or ideas of what is causing this would be very much appreciated. Thank you, PD
sage: *from* *py4j.java_gateway* *import* JavaGateway sage: gateway = JavaGateway() sage: random = gateway.jvm.java.util.Random() sage: number1 = random.nextInt(*10*) --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-4-45af4cb476cf> in <module>() ----> 1 number1 = random.nextInt(Integer(10)) /Applications/SageMath/local/lib/python2.7/site-packages/py4j/java_gateway.pyc in __call__(self, *args) * 1149* * 1150* def __call__(self, *args): -> 1151 args_command, temp_args = self._build_args(*args) * 1152* * 1153* command = proto.CALL_COMMAND_NAME +\ /Applications/SageMath/local/lib/python2.7/site-packages/py4j/java_gateway.pyc in _build_args(self, *args) * 1119* * 1120* args_command = "".join( -> 1121 [get_command_part(arg, self.pool) for arg in new_args]) * 1122* * 1123* return args_command, temp_args /Applications/SageMath/local/lib/python2.7/site-packages/py4j/protocol.pyc in get_command_part(parameter, python_proxy_pool) * 288* command_part += ";" + interface * 289* else: --> 290 command_part = REFERENCE_TYPE + parameter._get_object_id() * 291* * 292* command_part += "\n" /Applications/SageMath/src/sage/structure/element.pyx in sage.structure.element.Element.__getattr__ (/Applications/SageMath/src/build/cythonized/sage/structure/element.c:4230) () * 457* AttributeError: 'LeftZeroSemigroup_with_category.element_class' object has no attribute 'blah_blah' * 458* """ --> 459 return self.getattr_from_category(name) * 460* * 461* cdef getattr_from_category(self, name): /Applications/SageMath/src/sage/structure/element.pyx in sage.structure.element.Element.getattr_from_category (/Applications/SageMath/src/build/cythonized/sage/structure/element.c:4339) () * 470* else: * 471* cls = P._abstract_element_class --> 472 return getattr_from_other_class(self, cls, name) * 473* * 474* def __dir__(self): /Applications/SageMath/src/sage/structure/misc.pyx in sage.structure.misc.getattr_from_other_class (/Applications/SageMath/src/build/cythonized/sage/structure/misc.c:1933)() * 297* dummy_error_message.cls = type(self) * 298* dummy_error_message.name = name --> 299 raise dummy_attribute_error * 300* attribute = <object>attr * 301* # Check for a descriptor (__get__ in Python) AttributeError: 'sage.rings.integer.Integer' object has no attribute '_get_object_id' -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-support+unsubscr...@googlegroups.com. To post to this group, send email to sage-support@googlegroups.com. Visit this group at https://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/d/optout.