Wenn ich die Anaconda Python Distribution installiere und versuche, ipython manage.py shell
aus meiner Django-App auszuführen, wird der folgende Fehler ausgelöst. Ich weiß, dass wenn ich Anaconda installiere, es mit Python und Ipython verpackt ist, deren Version sich von den anderen Python/Ipython-Versionen, die ich habe, unterscheidet. Aber warum sollte die django-Shell unabhängig von der ipython-Version einen Fehler auslösen? Ich habe versucht, das System ipython zu deinstallieren und der gleiche Fehler wird geworfen, was bedeutet, dass es ein Problem mit der anaconda ipython-Distribution und django gibt. Die Deinstallation von Anaconda löst das Problem.Mehrere inkompatible Subklasseninstanzen von InteractiveShellEmbed werden erstellt
Stacktrace
manage.py in <module>()
9
10 if __name__ == "__main__":
---> 11 execute_manager(settings)
lib/python2.7/site-packages/django/core/management/__init__.pyc in execute_manager(settings_mod, argv)
457 setup_environ(settings_mod)
458 utility = ManagementUtility(argv)
--> 459 utility.execute()
lib/python2.7/site-packages/django/core/management/__init__.pyc in execute(self)
380 sys.stdout.write(self.main_help_text() + '\n')
381 else:
--> 382 self.fetch_command(subcommand).run_from_argv(self.argv)
383
384 def setup_environ(settings_mod, original_settings_path=None):
lib/python2.7/site-packages/django/core/management/base.pyc in run_from_argv(self, argv)
194 options, args = parser.parse_args(argv[2:])
195 handle_default_options(options)
--> 196 self.execute(*args, **options.__dict__)
197
198 def execute(self, *args, **options):
lib/python2.7/site-packages/django/core/management/base.pyc in execute(self, *args, **options)
230 if self.requires_model_validation:
231 self.validate()
--> 232 output = self.handle(*args, **options)
233 if output:
234 if self.output_transaction:
lib/python2.7/site-packages/django/core/management/base.pyc in handle(self, *args, **options)
369 if args:
370 raise CommandError("Command doesn't accept any arguments")
--> 371 return self.handle_noargs(**options)
372
373 def handle_noargs(self, **options):
lib/python2.7/site-packages/django_extensions/management/commands/shell_plus.pyc in handle_noargs(self, **options)
116 try:
117 from IPython import embed
--> 118 embed(user_ns=imported_objects)
119 except ImportError:
120 # IPython < 0.11
lib/python2.7/site-packages/IPython/terminal/embed.pyc in embed(**kwargs)
298 config.InteractiveShellEmbed = config.TerminalInteractiveShell
299 kwargs['config'] = config
--> 300 shell = InteractiveShellEmbed.instance(**kwargs)
301 shell(header=header, stack_depth=2, compile_flags=compile_flags)
lib/python2.7/site-packages/IPython/config/configurable.pyc in instance(cls, *args, **kwargs)
358 raise MultipleInstanceError(
359 'Multiple incompatible subclass instances of '
--> 360 '%s are being created.' % cls.__name__
361 )
362
MultipleInstanceError: Multiple incompatible subclass instances of InteractiveShellEmbed are being created.
Ich weiß es nicht genau, aber ich renne Shell als 'python manage.py shell' und es läuft ipython shell. – greg