天坑的:Fatal Python error: init_sys_streams: can‘t initialize sys standard streams解决方案
生活随笔
收集整理的這篇文章主要介紹了
天坑的:Fatal Python error: init_sys_streams: can‘t initialize sys standard streams解决方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【問題描述】
今天用pycharm新建工程突然提示:編譯環境有問題,簡單寫了兩行代碼測試一直有問題, 報錯如下:
Fatal Python error: init_sys_streams: can’t initialize sys standard streams
【原因分析】
找了很多解決方案,結合錯誤提示,還是問題發生在虛擬環境下lib目錄中的io.py身上,網上有好多老鐵說改文件名字,然而證明并沒有什么用,認真看下文件信息和內容發現并無區別,最后突然發現io.py的生成日期不對,恒新鮮,不是新建環境的那個日期,問題就出在這里,
【解決方案】因為都是標準文檔,所以我們只需要把虛擬環境中,有io.py的生成日期為環境生成日期的io.py拷貝并替換掉日期異常的io.py文件問題瞬間解決??恿宋倚“胩斓臅r間,真心無語。
io.py一般在虛擬環境的Lib目錄下,具體代碼如下:
"""The io module provides the Python interfaces to stream handling. The builtin open function is defined in this module.At the top of the I/O hierarchy is the abstract base class IOBase. It defines the basic interface to a stream. Note, however, that there is no separation between reading and writing to streams; implementations are allowed to raise an OSError if they do not support a given operation.Extending IOBase is RawIOBase which deals simply with the reading and writing of raw bytes to a stream. FileIO subclasses RawIOBase to provide an interface to OS files.BufferedIOBase deals with buffering on a raw byte stream (RawIOBase). Its subclasses, BufferedWriter, BufferedReader, and BufferedRWPair buffer streams that are readable, writable, and both respectively. BufferedRandom provides a buffered interface to random access streams. BytesIO is a simple stream of in-memory bytes.Another IOBase subclass, TextIOBase, deals with the encoding and decoding of streams into text. TextIOWrapper, which extends it, is a buffered text interface to a buffered raw stream (`BufferedIOBase`). Finally, StringIO is an in-memory stream for text.Argument names are not part of the specification, and only the arguments of open() are intended to be used as keyword arguments.data:DEFAULT_BUFFER_SIZEAn int containing the default buffer size used by the module's bufferedI/O classes. open() uses the file's blksize (as obtained by os.stat) ifpossible. """ # New I/O library conforming to PEP 3116.__author__ = ("Guido van Rossum <guido@python.org>, ""Mike Verdone <mike.verdone@gmail.com>, ""Mark Russell <mark.russell@zen.co.uk>, ""Antoine Pitrou <solipsis@pitrou.net>, ""Amaury Forgeot d'Arc <amauryfa@gmail.com>, ""Benjamin Peterson <benjamin@python.org>")__all__ = ["BlockingIOError", "open", "IOBase", "RawIOBase", "FileIO","BytesIO", "StringIO", "BufferedIOBase","BufferedReader", "BufferedWriter", "BufferedRWPair","BufferedRandom", "TextIOBase", "TextIOWrapper","UnsupportedOperation", "SEEK_SET", "SEEK_CUR", "SEEK_END"]import _io import abcfrom _io import (DEFAULT_BUFFER_SIZE, BlockingIOError, UnsupportedOperation,open, FileIO, BytesIO, StringIO, BufferedReader,BufferedWriter, BufferedRWPair, BufferedRandom,IncrementalNewlineDecoder, TextIOWrapper)OpenWrapper = _io.open # for compatibility with _pyio# Pretend this exception was created here. UnsupportedOperation.__module__ = "io"# for seek() SEEK_SET = 0 SEEK_CUR = 1 SEEK_END = 2# Declaring ABCs in C is tricky so we do it here. # Method descriptions and default implementations are inherited from the C # version however. class IOBase(_io._IOBase, metaclass=abc.ABCMeta):__doc__ = _io._IOBase.__doc__class RawIOBase(_io._RawIOBase, IOBase):__doc__ = _io._RawIOBase.__doc__class BufferedIOBase(_io._BufferedIOBase, IOBase):__doc__ = _io._BufferedIOBase.__doc__class TextIOBase(_io._TextIOBase, IOBase):__doc__ = _io._TextIOBase.__doc__RawIOBase.register(FileIO)for klass in (BytesIO, BufferedReader, BufferedWriter, BufferedRandom,BufferedRWPair):BufferedIOBase.register(klass)for klass in (StringIO, TextIOWrapper):TextIOBase.register(klass) del klasstry:from _io import _WindowsConsoleIO except ImportError:pass else:RawIOBase.register(_WindowsConsoleIO)總結
以上是生活随笔為你收集整理的天坑的:Fatal Python error: init_sys_streams: can‘t initialize sys standard streams解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3 “from PIL im
- 下一篇: scikit-image安装 from