2016-06-30 132 views
26

我最近重新安裝的Ubuntu並沒有升級到16.04,不能使用Python:導入錯誤:沒有模塊名爲「編碼」

$ python manage.py runserver 
Could not find platform independent libraries <prefix> 
Could not find platform dependent libraries <exec_prefix> 
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] 
Fatal Python error: Py_Initialize: Unable to get the locale encoding 
ImportError: No module named 'encodings' 
Aborted 

在這一點上,巨蟒本身不工作

$ python 
Could not find platform independent libraries <prefix> 
Could not find platform dependent libraries <exec_prefix> 
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] 
Fatal Python error: Py_Initialize: Unable to get the locale encoding 
ImportError: No module named 'encodings' 
Aborted 

即使這個建議不再有效:

unset PYTHONHOME 
unset PYTHONPATH 

每一次我修復它,它會再次回來。幾個答案有助於暫時修復它,但不是很好。我已經重新安裝了python和python3好幾次了。我能從這裏做什麼?謝謝

+0

這是關係到Django還是Python?你可能想用適當的標籤編輯你的問題。 –

+0

只是蟒蛇,我碰巧正在使用Django – codyc4321

+0

這似乎是蟒蛇安裝不完整。你是否通過apt安裝了python,或者你是否從源代碼編譯並安裝了它?運行'哪個python'來檢查你在$ PATH中的第一個python二進制文件。 – HAL

回答

26

對於Python-3嘗試刪除虛擬環境文件。並重置它。

rm -rf venv 
virtualenv -p /usr/bin/python3 venv/ 
source env/bin/activate 
pip install -r requirements.txt 

https://wiki.ubuntu.com/XenialXerus/ReleaseNotes#Python_3

+1

感謝馬拉夫先生 – codyc4321

+0

太棒了!感謝教我如何使用'virtualenv'命令將python3安裝到env中!出於某種原因,我花了大約2個月才找到它。令人驚歎... – MadPhysicist

+0

嗨我試圖在我的亞馬遜AMI設備(基於RHEL)上這樣做,但它不起作用。任何其他方式可以解決? –

2

對於Windows10用戶。

我在Windows10上使用python3.4。我安裝了python3.5。我無法找到PYTHONPATH,PYTHONHOME env變量。如果我在CMD控制檯中命令python,它會一直使用python3.4。我刪除了python3.4。每當我在CMD控制檯命令python時,它就會開始顯示如下的錯誤。

Fatal Python error: Py_Initialize: Unable to get the locale encoding 
ImportError: No module named 'encodings' 

我搜索瞭解我的問題。解決方案很簡單。當您安裝python3.5時,您可以自定義安裝並檢查將Python添加到高級選項中的環境變量

我只是爲了避免某人遇到類似問題,請在此訪問,以免他們浪費寶貴的時間來解決問題。

2

有關Windows7的同一問題

你會看到這樣的錯誤,如果你的環境變量/系統變量設置不正確:

Fatal Python error: Py_Initialize: unable to load the file system codec 
ImportError: No module named 'encodings' 

Current thread 0x00001db4 (most recent call first): 

修復這是非常簡單的:

  1. 當您下載Python3.x版本並運行.exe文件時,它會提供一個選項來自定義您的位置系統你想安裝Python。例如,我選擇了這個位置:C:\ Program Files文件\ Python36

  2. 然後打開系統屬性,進入「高級」選項卡(或者你可以簡單的做到這些:點擊開始>搜索爲「環境變量」>單擊「編輯系統環境變量」。)在「高級」選項卡中,查找「環境變量」並單擊它。另一個名爲「環境變量」的窗口將彈出。

  3. 現在請確保您的用戶變量具有在「路徑變量」中列出的正確Python路徑。在我的示例中,您應該看到C:\ Program Files \ Python36。如果您沒有找到它,請通過選擇路徑變量字段並單擊編輯來添加它。

  4. 最後一步是要仔細檢查PYTHONHOMEPYTHONPATH在系統變量域在同一個窗口。您應該看到與上述相同的路徑。如果不添加它也是。

然後單擊確定,返回到CMD終端,並嘗試檢查python。現在應該解決這個問題。它爲我工作。

+0

這和win10完全一樣。在我的情況下,只是將PYTHONHOME和PYTHONPATH設置爲較舊的安裝。 –

2

我在遷移過程中有這種錯誤的Ubuntu 17.10,這解決了這個問題:

sudo dpkg-reconfigure python3 

也許你將不得不關閉會話並重新連接。

-1

我也可以解決這個問題。 PYTHONPATH和PYTHONHOME是原因。

運行這在終端

touch ~/.bash_profile 
    open ~/.bash_profile 

,然後刪除該文件的所有無用部分,並保存。 我不知道如何推薦它這樣做!

相關問題