gpt4 book ai didi

python - 为什么我不能用 ipython 访问 Django 的 shell 中的导入函数?

转载 作者:太空狗 更新时间:2023-10-30 01:02:11 25 4
gpt4 key购买 nike

我已经在我的 virtualenv 中安装了 ipython,所以 python manage.py shell 提供了我的 ipython。但是,我无法从函数定义内部访问导入:

$ python manage.py shell
Python 2.7.5 (default, Sep 6 2013, 09:55:21)
Type "copyright", "credits" or "license" for more information.

IPython 1.1.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.

In [1]: from re import search

In [2]: def my_search(pattern, string):
return search(pattern, string)
...:

In [3]: my_search('x', 'y')
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/home/wilfred/.envs/drawbridge/lib/python2.7/site-packages/django/core/management/commands/shell.pyc in <module>()
----> 1 my_search('x', 'y')

/home/wilfred/.envs/drawbridge/lib/python2.7/site-packages/django/core/management/commands/shell.pyc in my_search(pattern, string)
1 def my_search(pattern, string):
----> 2 return search(pattern, string)
3

NameError: global name 'search' is not defined

如果我直接启动 ipython 就可以正常工作。为什么它在 Django shell 中不起作用?

最佳答案

这是一个 known bug这是在 django 1.6 中修复的。问题讨论中还建议了一些针对早期版本的解决方法,请查看。

另见:

关于python - 为什么我不能用 ipython 访问 Django 的 shell 中的导入函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19004417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com