有一天在PyCharm中搞Python的时候,我遇到了一个很傻的问题。也就是说,当我试图在一个名为 abc.py
,我收到一个错误。我试着从终端直接运行相同的文件,看起来很好。
abc.py
print("Hello world")
输出。
/Users/.../venv/bin/python /Users/.../abc.py
Fatal Python error: init_sys_streams: can't initialize sys standard streams
Traceback (most recent call last):
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/io.py", line 52, in <module>
File "/Users/.../abc.py", line 1, in <module>
RuntimeError: lost sys.stdout
Process finished with exit code 134 (interrupted by signal 6: SIGABRT)
我很好奇,这是怎么回事?
EDIT:为什么只有在PyCharm中运行时才会出现这种情况,而不是在终端中运行时?
abc
是python的标准模块。这里 => https:/docs.python.org3libraryabc.html。
如果你把你自己的模块abc.py改名为abcd.py,应该就可以了。
你会得到一个错误,因为 python 感到困惑。
你看,在python中有一个内置的模块,那就是 还 叫做 abc('抽象基类'的简称)!
我建议你把你的文件命名为其他的东西,或者其他的 疯狂 办法。删除模块(开玩笑,不要这么做!)。