【发布时间】:2015-12-25 03:31:33
【问题描述】:
我尝试通过在 Windows 10 的命令提示符下键入 python twitterstream.py > output.txt 来运行 .py 文件。然后它说
fatal python error: Py_Initialize: unable to load the file system codec
File "C:\Python27\Lib\encodings\__init__.py", line 123 raise CodecRegistryError,\
SyntaxError: invalid syntax
根据我通过 google 搜索看到的情况,解决方案可能是更改 PYTHONPATH 环境变量。但是,我将用户变量和系统变量的 PYTHONPATH 设置为 C:\Python27,但在命令提示符下仍然出现相同的错误
我还阅读了http://bugs.python.org/issue11288,并尝试更改所有最初指向C:\Python27 的PYTHONPATH 系统变量并将其更改为C:\Python34,但这并没有解决问题
然后我关注了https://docs.python.org/3/using/windows.html#python-launcher-for-windows,但是当我输入py 时,它显示Python 2.7.9 ..,但是对于py -3,我得到一个弹出窗口说python.exe has stopped working 和
fatal python error: Py_Initialize: unable to load the file system codec
File "C:\Python27\Lib\encodings\__init__.py", line 123 raise CodecRegistryError,\
SyntaxError: invalid syntax
另外,py hello.py 表示 from python 2.7.9 ...,但将 #! python 更改为 #! python3 会出现我之前所说的相同错误
即使我将PATH AND PYTHONPATH 用户变量设置为C:\Python34;C:\Python27;C:\Python27\Scripts;C:\Python34\Scripts,同时将PythonPath 系统变量设置为C:\Python34;C:\Python27;C:\Python27\Scripts;C:\Python34\Scripts,但错误与之前相同
【问题讨论】:
-
您似乎已将
PYTHONHOME设置为C:\Python27。通常没有理由设置PYTHONPATH或PYTHONHOME,而不是使用官方Python 发行版。取消设置这些变量。对于不会导致此类冲突的特定安装,有更好的方法来管理sys.path。 -
我没有将
PYTHONHOME视为环境变量。当您说未设置时,您的意思是删除它们?当我在PYTHONPATH上尝试时,我得到了和以前一样的错误 -
如果我先输入
set "PYTHONHOME=C:\Python27",我可以重现错误。这会覆盖 Python 的默认sys.prefix,通过它可以找到它的标准库。 Python 3 显然不能使用 Python 2 的标准库。在命令提示符中输入set PYTHON。这个列表是PYTHONHOME还是只是PYTHONPATH?如果只是PYTHONPATH,那么在运行py -3时应该不会导致该错误。还有其他问题。 -
当我输入
set PYTHON时,它显示Environment variable PYTHON not defined -
这意味着既没有设置
PYTHONHOME,也没有设置PYTHONPATH。在该命令提示符中,您是否收到py -3的错误?
标签: python windows python-2.7 python-3.x