使用Anaconda遇到問題的總結(持續更新)

目錄

 

1.如何在cmd中用python

2.PYTHONHOME的重要性

3.深受PYTHONHOME之苦的Anaconda

3.1.在navigator下打不開Spyder、Qt Console等

3.2.打不開navigator,打不開Spyder、Qt Console等


1.如何在cmd中用python

安裝完anaconda後,想用cmd查看、使用python,大部分人可能會遇到‘python不是不是內部命令或外部命令,也不是可執行程序解決方案’。原因很簡單,系統裏面沒有“python”這個變量,那就添加環境變量吧:

此電腦->屬性->高級系統設置->環境變量,在系統變量裏找到“PATH”,然後添加以下路徑:

F:\Anaconda2
F:\Anaconda2\Library\bin
F:\Anaconda2\Scripts

這三個路徑要靈活處理,主要看你需要添加的python版本號,因爲anaconda是可以管理多個版本的。例如上述的路徑是添加改版本anaconda默認的python版本,該版本的python解析器就在F:\Anaconda2下。設置好環境變量,在cmd中輸入python:

如果想切換版本,就需要在“PATH”中修改,比如修改成喵哥在anaconda裏添加的python3.6:

F:\Anaconda2\envs\x64_36
F:\Anaconda2\envs\x64_36\Library\bin
F:\Anaconda2\envs\x64_36\Scripts

然而,有一點需要注意:

如果在系統變量裏添加了PYTHONHOME變量,必須要求PYTHONHOME與PATH中的第一個(上述)路徑保持一致,不然會報錯:

E:\>python
Fatal Python error: Py_Initialize: unable to load the file system codec
  File "F:\Anaconda2\lib\encodings\__init__.py", line 123
    raise CodecRegistryError,\
                            ^
SyntaxError: invalid syntax

Current thread 0x00002a44 (most recent call first):

當然,刪掉PYTHONHOME也是一種選擇,但是PYTHONHOME變量是有其存在意義的,欲知詳情,往下讀。

2.PYTHONHOME的重要性

PYTHONHOME變量用的地方比較多,比較常見的就是C++調用python,喵哥在其他博客(“探坑”——在C++中執行python腳本的艱辛嘗試)也提到過,如果不定義一個正確的PYTHONHOME變量,會遇到類似以下的錯誤:

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

另外,PYTHONHOME變量的路徑值也要跟調用python的版本一致,不然會出現以下錯誤:

Fatal Python error: Py_Initialize: unable to load the file system codec
  File "F:\Anaconda2\lib\encodings\__init__.py", line 123
    raise CodecRegistryError,\
                            ^
SyntaxError: invalid syntax

Current thread 0x00002a44 (most recent call first):

其實PYTHONHOME影響的不只是其他運用python的工作,還影響管理python的工作——anaconda。

3.深受PYTHONHOME之苦的Anaconda

3.1.在navigator下打不開Spyder、Qt Console等

喵哥安裝的Anaconda是默認2.7的python,由於工作需要,喵哥把PYTHONHOME設置爲默認的python:

F:\Anaconda2

又由於工作需要,喵哥在navigator管理的python3.6打開Spyder,沒有打開,出現了由於PYTHONHOME設置值與使用python版本不一致的錯誤:

這個跟前面敘述的差不多,所以修改PYTHONHOME的值就好了。。。。。。嗎?

too young,too simple!

3.2.打不開navigator,打不開Spyder、Qt Console等

喵哥根據調用C++時遇到的問題,照舊修改PYTHONHOME,根據所需修改PYTHONHOME爲

F:\Anaconda2\envs\x64_36

這個時候就尷尬了,連navigator都打不開,點擊圖標,鼠標等待圈就閃退,顯然是打不開了。根據網上的方法,在系統盤裏的user-用戶名下刪除.Spyder等文件夾也沒有成功,不過這個方法對於PYTHONHOME不存在或者是anaconda默認python路徑的情況下,打不開Spyder時是有效的。

然而,現在的問題不一樣,刪了這些文件夾,點擊圖標依舊是鼠標轉圈圈。難道就用不了其他版本的Spyder麼?

刪掉PYTHONHOME萬事大吉!!!

第一次覺得這個界面也蠻可愛嘛!

需要用的時候記得再添加PYTHONHOME變量。

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章