安装了Python 3,运行时出错

时间:2016-03-14 02:53:46

标签: python macos python-2.7 python-3.x

我在Mac上安装了 Python 3.5.1 与Python 2.7.10一起。当我运行python --version时,它返回Python 2.7.10,当我运行python3 --version时,它返回Python 3.5.1,这应该确认Python 3已正确安装。但是,每当我尝试在终端中使用 python3 运行命令或文件时,它就会出现此错误:

  

致命的Python错误:Py_Initialize:无法加载文件系统   编解码器文件   " /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings/的初始化的.py&#34 ;,   第123行       提出CodecRegistryError,\                               ^ SyntaxError:语法无效

     

当前线程0x00007fff72bb4000(最近一次呼叫):中止   陷阱:6 Farshids-MacBook-Pro-2:mysite Sasha $ python3致命Python   错误:Py_Initialize:无法加载文件系统编解码器文件   " /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings/的初始化的.py&#34 ;,   第123行       提出CodecRegistryError,\                               ^ SyntaxError:语法无效

     

当前线程0x00007fff72bb4000(最近一次呼叫):中止   陷阱:6

并弹出一条消息说"Python quit unexpectedly."正如您在错误中看到的,它提到了2.7,这意味着它可能尝试使用2.7来运行代码。

我该如何解决这个问题?顺便说一句,我安装了Python 3以遵循Django教程,该教程在没有Python 3的情况下无法工作,而且我对Python的知识非常有能力进行调整。

3 个答案:

答案 0 :(得分:1)

很可能$ PYTHONPATH设置为使用你的Python2.x.验证此类型

echo $PYTHONPATH

如果您看到与Python2.x相关的路径,请尝试取消设置。

unset PYTHONPATH

答案 1 :(得分:0)

如果你将它们作为可执行文件执行,你可以将shebang行(从第一行的#!开始)保留为python3(#!/ usr / bin / python3.5)路径。但是你得到的错误是由于脚本和你正在使用的python解释器之间的语法不兼容造成的。研究python3.x版本中的更改并相应地更改脚本。您可以查看this以供参考。

答案 2 :(得分:-1)

存在冲突,因为你在环境中设置了两个版本的python并且你肯定将PYTHONPATH变量设置为python 2.7

因此,您可以重置脚本中的env路径,以便在运行python

之前获取所需的内容

我不知道Mac OS中的程序在Windows Env中我做那个脚本

例如ps1脚本

$Env:Py2 = "C:\Python27"

$Env:PYTHONPATH = "$Env:Py2;$Env:Py2\Lib;$Env:Py2\DLLs;$Env:Py2\Lib\lib-tk"
$Env:Path += ";$Env:Py2;$Env:Py2\Scripts\"
python

运行python 2.7

在最初的情况下,运行python 3并为python2添加Lib。所以它可以工作,因为py3使用unicode base编码而py2使用ANSI编码