python - 无法从 Eclipse 运行/调试 Django 的 manage.py

标签 python django eclipse debugging

每当我尝试从 Eclipse 调试 Django 的 manage.py 时,我得到:

pydev debugger: warning: psyco not available for speedups (the debugger will still work correctly, but a bit slower)
pydev debugger: starting
Traceback (most recent call last):
  File "/proj/virtualenvs/testing/infocards/manage.py", line 15, in <module>
    execute_manager(settings)
  File "/proj/virtualenvs/testing/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/proj/virtualenvs/testing/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/proj/virtualenvs/testing/lib/python2.6/site-packages/django/core/management/base.py", line 191, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/proj/virtualenvs/testing/lib/python2.6/site-packages/django/core/management/base.py", line 220, in execute
    output = self.handle(*args, **options)
  File "/proj/virtualenvs/testing/lib/python2.6/site-packages/django/core/management/commands/runserver.py", line 67, in handle
    self.run(*args, **options)
  File "/proj/virtualenvs/testing/lib/python2.6/site-packages/django/core/management/commands/runserver.py", line 76, in run
    autoreload.main(self.inner_run, args, options)
  File "/proj/virtualenvs/testing/lib/python2.6/site-packages/django/utils/autoreload.py", line 131, in main
    reloader(main_func, args, kwargs)
  File "/proj/virtualenvs/testing/lib/python2.6/site-packages/django/utils/autoreload.py", line 104, in python_reloader
    reloader_thread()
  File "/proj/virtualenvs/testing/lib/python2.6/site-packages/django/utils/autoreload.py", line 83, in reloader_thread
    ensure_echo_on()
  File "/proj/virtualenvs/testing/lib/python2.6/site-packages/django/utils/autoreload.py", line 77, in ensure_echo_on
    attr_list = termios.tcgetattr(fd)
termios.error: (22, 'Invalid argument')
Validating models...

从命令行运行 python manage.py runserver 工作正常。

谷歌搜索我发现 termios.error: (22, 'Invalid argument') 错误是因为 python 试图从 stdin 读取但不能从 Eclipse 环境内部读取。

[编辑]:我忘了说我正在运行 PyDev 和最新的 1.3 版 Django。

[编辑]:@Blake,@izhak。我在 Eclipse 中定义了包含在我的 virtualenv 中的 Python(/proj/virtualenvs/testing,您可以从输出中看到)。在命令行中,我使用与激活 virtualenv 相同的 Python 版本。

最佳答案

似乎缺少 --noreload 会导致这种效果。很奇怪。

编辑:起初我以为它是项目的工作目录。

关于python - 无法从 Eclipse 运行/调试 Django 的 manage.py,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5572990/

相关文章:

python - 启用 CORS 的 Flask restful api 不适用于远程 ajax 调用

python - Flask flask.cli.NoAppException 与应用工厂

java - Eclipse 中的默认导入

java - 从所需的 .class 文件间接引用

python - 按条件对 numpy 数组进行就地分区

python - Cython 中的空字符问题

mysql - Django 中的抽象基类与泛型关系

django - 在 svn/hg/git/etc 中优雅地处理特定于站点的设置/配置?

使用名为 TestCase 的模型进行 Django 测试

java - 抑制子类的警告