Python shell重新启动

时间:2018-01-27 18:18:40

标签: python shell tensorflow python-idle

Shell重新启动而不打印输出。

import tensorflow as tf 
from tensorflow.python.client import timeline 


a = tf.random_normal([2000, 5000]) 
b = tf.random_normal([5000, 1000]) 
res = tf.matmul(a, b) 
print ('aaaaaaaaaaaaaaa')

with tf.Session() as sess:

    # add additional options to trace the session execution 
    options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)

    run_metadata = tf.RunMetadata()

    sess.run(res, options=options, run_metadata=run_metadata) 
    print ('bbbbbbbbb')

    # Create the Timeline object, and write it to a json file 
    fetched_timeline = timeline.Timeline(run_metadata.step_stats) 
    chrome_trace = fetched_timeline.generate_chrome_trace_format() 
    with open('timeline_01.json', 'w') as f: 
        f.write(chrome_trace) 

Python空闲不打印输出但总是打印:

================== RESTART: C:\Users\hirplk\Desktop\test.py ==================
aaaaaaaaaaaaaaa

=============================== RESTART: Shell ===============================

每当我运行任何代码时都会发生这种情况。对此有特定的问题吗?这发生在我最近几次安装tensorflow之后。

1 个答案:

答案 0 :(得分:1)

我很确定cpython bugs.python.org跟踪器上没有关于IDLE shell重启时不应该出现的问题(当调试器没有使用时)。我也不知道最近有关SO的问题。

您似乎启动了IDLE,编辑了C:\ Users \ hirplk \ Desktop \ test.py,并通过点击F5或单击菜单项来运行它。正常情况下,IDLE开始在新的用户代码进程中执行代码,与IDLE接口进程分开。你的代码打印了'a'的字符串,它出现在IDLE过程的Shell窗口中。之后,在b-string打印之前的一个tensorflow调用使用户进程崩溃。当IDLE进程失去与用户进程的通信时,它将重新启动交互式Shell。这是故意的。

如果IDLE已安装且运行正常,则查看RESTART: Shell行的唯一方法是从菜单中明确选择Restart Shell

要确定您的IDLE安装是否存在问题,请从命令行运行代码,而不涉及IDLE。例如,在“命令提示符”窗口中输入py C:\Users\hirplk\Desktop\test.py

“每当我运行任何代码时都会发生这种情况。”你的意思是如果你在编辑器中输入“print('Hello')`,保存并运行,你会看到重启行没有做任何事情吗?如果是这样,你要么有一个需要修复的错误安装,或者可能是我从未使用过的旧版Python / IDLE需要更换。你使用的是什么版本的Python / IDLE?