【问题标题】:Django manage.py doesn't work with IPythonDjango manage.py 不适用于 IPython
【发布时间】:2010-07-22 09:30:56
【问题描述】:

我在 MacOSX Snow Leopard 上,我正在使用安装了 macports 的 python 2.6.5。我在一个虚拟环境中。 安装 IPython 后我无法运行 python manage.py shell,但我可以独立运行 IPython。

我发现以下行是导致问题的原因:

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

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

【问题讨论】:

    标签: python django ipython


    【解决方案1】:

    他们是同一个commands吗?在每个中尝试print commands.__file__。您可能会发现您的项目有一个名为“commands”的模块,它隐藏了 stdlib 模块。

    【讨论】:

    • 不,一个(工作)在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 tracker bugs.launchpad.net/ipython/+bug/416162 上发现了一个错误报告
    • 好了。他们完全不同。这既不是 IPython 错误也不是 Django 错误,这正是 Python 的工作原理。重命名应用程序。
    猜你喜欢
    • 1970-01-01
    • 2020-04-22
    • 2016-08-13
    • 1970-01-01
    • 2016-04-27
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 2018-01-23
    相关资源
    最近更新 更多