目錄
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變量。