django起shell的时候遇到code.py的问题

作者:半瓶墨水 链接:http://www.2maomao.com/blog/code-py-problem/

用Django建了一个工程,然后生成了一个叫做code的项目,再用manage.py shell的时候报错了:

Traceback (most recent call last):
  File "..\manage.py", line 11, in <module>
    execute_manager(settings)
  File "c:\python\Lib\site-packages\django\core\management.py", line 1672, in execute_manager
    execute_from_command_line(action_mapping, argv)
  File "c:\python\Lib\site-packages\django\core\management.py", line 1567, in execute_from_command_line
    action_mapping[action](options.plain is True)
  File "c:\python\Lib\site-packages\django\core\management.py", line 1284, in run_shell
    code.interact()
AttributeError: 'module' object has no attribute 'interact'

探究了一下,发现python自己有个code.py,专用来做interact shell,我自己这边有个code文件夹,结果直接import的时候就出问题了。

项目做了不少了,不想改了,干脆把c:\python\lib下面的code.py做了一个copy,叫做ohmycode.py,然后到managemeng.py里面import ohmycode之后的代码都从”code” 改成 “ohmycode”。

搞定。

我知道这样有风险,以后部署到其他机器上的时候会有问题,不过暂时先这么干了,在这里记一下。

顺便抱怨一下python的标准库的引用,我觉得都应该放在一个目录下,顶多引用的时候多写点儿代码,也不至于冲突,现在可好,c:\python\lib下一百多个库,说不定哪天起个文件名就撞在枪口上了。

555,本篇现在一条评论也没有,雁过留声,人过留名,各位乡亲父老,有钱的捧个钱场,没钱的捧个人场......

发表评论

  • :(
  • :)
  • :D
  • :X
  • :^
  • :d
  • :e
  • :h
  • :k
  • :l
  • :p
  • :q
  • :s
  • :v
  • :w
  • :x

注意:评论中需包含至少一个中文字,否则视为无效