在程序终止于pydev / eclipse

时间:2018-02-01 04:39:36

标签: python eclipse console pydev

我在pydev / eclipse中有一个项目,在/ src文件夹中有多个python文件。

当我运行我创建的第一个程序时,它运行正常,我可以在控制台窗格中与它进行交互。

当我尝试运行其他任何

  

此时无法显示控制台

闪烁,但程序很快就会终止,然后才能输入任何内容。我无法重现它,但有时我的第一个输入问题也会闪现。

如果我回到我写的第一个程序,它运行正常,即使之前在其他程序上失败了。

当我在调试模式下运行时,它通常可以正常工作。

如何修复它,以便在我点击“运行”时可以在控制台中与我的程序进行交互?

这就是我的尝试:

(1)关闭eclipse然后重新启动它

(2)检查在运行>下选择了“分配控制台”。跑 配置>常用菜单选项

(3)取消选中“allocate console”选项,运行程序,然后再次选择“allocate console”选项

(4)试过窗口> show view>控制台菜单选项

(5)重启我的电脑

(6)关闭eclipse,将我的python文件移动到桌面,删除.metadata文件夹,删除项目文件夹,重新启动eclipse,更改透视图,创建新项目,将我的文件导入新创建的项目

(7)尝试了No console output in Eclipse Juno的堆栈溢出页面上提到的内容。但是,我不明白服务器的建议。我在哪里可以找到它?我不认为我在跑一个。

我没有卸载eclipse和python,然后重新安装了两者,但我变得绝望,所以我可能。或者我可能只是尝试使用调试来运行程序。

我想知道有什么问题。我在项目中使用了其他工作区和多个python程序,没有任何问题。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我遇到了完全相同的问题。阅读OP尝试我去Run =>运行配置。在Ruby脚本下,它列出了我的所有类。如果我选择"开始"一切都是"启动脚本'有用。当这种情况发生时,我喜欢它。至于其他班级怎么样? "启动脚本"关联或关于什么,我不知道。我可以肯定地告诉你的是Eclipse"发布"什么" tab"对于您正在编辑的脚本是打开的并且失败,除了在调试中它似乎能够找到您想要的东西由于某种原因。当然然后在调试中我发现控制台失败了,但我离题了。

我开始尝试启动各种其他类脚本,就像我期望它们一样工作(在运行配置中);当我在脚本的编辑选项卡中应该启动所有内容时...现在它为启动所有内容的那个或其他应该永远不会工作的内容提供选择。当它刚刚失败时,它从未这样做过。这"失败前进"我发现典型的Eclipse,你什么也得不到,然后你最终偶然发现了某些东西(有时几天)它会给你一个暗示你需要做什么的提示。

我确信这一切都是有记录的,但在这种情况下,如果它不起作用就是因为你做错了。

更新: 在调试中无法使用eclipse控制台是我缺乏知识。以下代码按预期工作:

def user_options(text_area)
  puts <<-DELIMITER
  1. Include additional search pattern
  2. Delete all excluded text
  3. Delete all not excluded text
  4. Write! to file\n
    DELIMITER
  ARGF.each do |selection| 
    # increase scope to instance variable if needed!        
    @selection = selection.chomp!
    # only read one line                                                          
    break                       
  end
  case @selection
    when "1"                  
    @file_manager = FileManager.new
    current_file = @file_manager.send(:file_history_current)                                  
    when "2"
    ...
    else
      puts("Exiting")
      exit
  end
end

ARGF是你的朋友。它在文档中并不清楚,但它的工作方式与您在C&#C;中的预期相同。 (但这是Ruby)。请记住,Ruby喜欢[]并且你应该能够找出任何东西。

arguments = [arg1, arg2, arg3]
text_lines = @file_manager.send(:file_open, *arguments) 

def file_open(arg1, arg2, arg2)
  ...
end