2010-07-22 84 views
0

我在MacOSX Snow Leopard上,并且我正在使用安装了macports的python 2.6.5。我在一个virtualenv。 安装IPython后我无法运行python manage.py shell,但我可以单独运行IPython。Django manage.py不能与IPython一起工作

我想通了,下面一行是什么原因导致的问题:

(status, result) = commands.getstatusoutput("otool -L %s | grep libedit" % _rl.__file__) 

这是因为一个奇怪的原因,当我启动python manage.py shell,但是当我启动ipython这是可用的方法getstatusoutput不可用。我可以在两种情况下导入命令模块。 我试着在两个执行过程中查看sys.path,但没有任何区别。

回答

0

它们是否一样commands?每个尝试print commands.__file__。你可能会发现你的项目有一个叫做“命令”的模块,它隐藏了stdlib模块。

+0

不,一个(工作)位于macports安装位置/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/commands.pyc中,另一个(不工作)位于内部virtualenv /Users/ingo/Documents/django_projects/project/project/commands/__init__.pyc。与此同时,我发现了一个关于ipython跟踪器的bug报告https://bugs.launchpad.net/ipython/+bug/416162 – Ingo86 2010-07-22 09:51:19

+0

好吧,你去了。他们完全不同。这不是IPython错误或Django错误,这只是Python的工作原理。重命名应用程序。 – 2010-07-22 09:55:27

+0

天啊!谢谢! – Ingo86 2010-07-22 10:04:14