簡體   English   中英

安裝了Python 3,運行時出錯

[英]Python 3 installed, error when running

我在 Mac 上安裝了Python 3.5.1和 Python 2.7.10 當我運行python --version ,它返回Python 2.7.10 ,當我運行python3 --version ,它返回Python 3.5.1 ,這應該確認 Python 3 已正確安裝。 但是,每當我嘗試在Terminal 中使用python3運行命令或文件時,都會出現以下錯誤:

致命的Python錯誤:Py_Initialize:無法加載文件系統的編解碼器文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings/初始化的.py”,線路123提高CodecRegistryError,\\ ^語法錯誤:無效語法

當前線程 0x00007fff72bb4000(最近一次調用):中止陷阱:6 Farshids-MacBook-Pro-2:mysite Sasha$ python3 致命 Python 錯誤:Py_Initialize:無法加載文件系統編解碼器 File "/System/Library/Frameworks/Python. framework/Versions/2.7/lib/python2.7/encodings/ init .py", line 123 raise CodecRegistryError,\\ ^ SyntaxError: invalid syntax

當前線程 0x00007fff72bb4000(最近調用優先):中止陷阱:6

並且還會彈出一條消息"Python quit unexpectedly." 正如您在錯誤中看到的,它提到了 2.7,這意味着它可能試圖使用 2.7 運行代碼。

我該如何解決? 順便說一句,我安裝了 Python 3 以遵循 Django 教程,該教程在沒有 Python 3 的情況下無法運行,而且我對 Python 非常了解,因此能夠進行調整。

很可能 $PYTHONPATH 設置為使用您的 Python2.x。 驗證此類型

echo $PYTHONPATH

如果您看到與 Python2.x 相關的路徑,請嘗試取消設置。

unset PYTHONPATH

如果將它們作為可執行文件執行,則可以將 shebang 行(第一行以 #! 開頭)保留為 python3 (#!/usr/bin/python3.5) 路徑。 但是你得到的錯誤是由於你的腳本和你正在使用的 python 解釋器之間的語法不兼容。 研究 python3.x 版本中的更改並相應地對腳本進行更改。 你可以看看這個供你參考。

存在沖突,因為您在環境中設置了兩次 python 版本,並且您肯定已將 PYTHONPATH 變量設置為 python 2.7

因此,您可以在運行 python 之前重置腳本中的 env 路徑以僅根據需要獲取

我不知道 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 基本編碼而 py2 使用 ANSI 編碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM