1. 程式人生 > >解決"pip Fatal error in launcher: Unable to create process using ... "的錯誤

解決"pip Fatal error in launcher: Unable to create process using ... "的錯誤

前言

我的本機上已經有了python的環境了,也裝了pycharm編輯器(IDE)。
當時我python2和3版本都裝了的,但是現在我忘記了。

所以我需要重新熟悉一下,並且安裝anaconda這個IDE。

摘要

本來是想先熟悉一下開發環境,結果發現並解決了一個問題,所以這裡就單獨拿出來討論、記錄一下:
本文旨在介紹如何在win 10上進行python 2.7 版本和 3.6版本的切換,並解決"pip Fatal error in launcher: Unable to create process using … "的錯誤(一般是遷移python3.6版本的根目錄導致的)。

熟悉之前的開發環境

1)安裝在本機的pycharm資訊


在這裡插入圖片描述
pycharm資訊

沒想到pycharm裡面竟然還有jvm,jdk這種java開發相關的資訊,我還以為只能用來開發python程式。



2)安裝在本機的python資訊


在這裡插入圖片描述
python資訊

看來可以自由在本機中切換python版本,具體參考:[4]
我現在再看下我的環境變數,準備把我的python 3.6 移一下位置。

問:為什麼要移動python3.6 的安裝根目錄呢

  1. 我很好奇,移動了這種軟體的根目錄之後,是不是隻需要改變環境變數就可以正常執行。

  2. 我覺得python3.6的根目錄太複雜了,如下圖,這麼長,再看看python2.7,這麼短,所以我想都移到C盤根目錄下,以後切換python版本的時候也方便些。

在這裡插入圖片描述
python環境變數

把python3.6 移到c盤根目錄下,對應的,改變環境變數:


在這裡插入圖片描述
修改python環境變數(遷移python3根目錄)

現在試著把C:\Python36\python3.exe改成python.exe
對應的,把C:\Python27\python.exe改成python2.exe
win + R -> cmd -> python --version看一下python版本是不是變成了3.6.

然而,有出錯資訊:


在這裡插入圖片描述
轉換版本後的出錯資訊

原因:我在修改環境變數之後,這個環境變數的改變並沒有生效.
解決方案:現在我登出一下電腦。然後重新使用pip list命令。
讓人遺憾/失望的是,這個並沒有生效。還是一樣的錯誤:fatal error。
這時,看到一個網頁:

[1],發現需要改pip.exe的內容(用notepad或者hexword這類二進位制檔案編輯器開啟就可以修改的)。

於是,我準備修改C:\Python36\Scripts下面的pip.exe和pip3.exe,然而我電腦上沒有notepad,只有sublime text 3.這時候我強行用sublime開啟,發現沒有搜尋到關鍵字C:,自然也沒修改pip exe中寫入的路徑啦。

急中生智,經過一番探索,我發現必須用sublime的utf-8模式來開啟,具體操作:左上角工具欄 file -> reopen with encoding -> utf-8,然後選中pip.exe即可:


在這裡插入圖片描述
sublime可以開啟pip.exe並修改。

這一番嘗試正好解決了[2]的問題:怎麼用sublime開啟並修改pip.exe?

此外,科普一下:為什麼要修改pip.exe: 因為python3.6在安裝的時候有個強制安裝目錄,我們一般都是預設那個目錄安裝(好像是user/local/program這種目錄,具體忘了),這時候pip.exe和pip3.exe檔案裡面的路徑就是這個目錄了,我們如果想遷移這個python3的安裝目錄,就必須修改pip檔案,才能夠正常執行pip list等pip相關的命令。

就在我修改完成之後,即把上圖中的C:\XXX 修改成C:\Python36\python.exe之後,出現了另外一種錯誤:


在這裡插入圖片描述
新的錯誤已經出現

我一開始以為是sublime的問題,為此我下了notepad(很簡單,https://notepad-plus-plus.org/download/v7.5.8.html 直接下 直接下載就行了),還看了[3],參考該文章進行修改,然而還是報錯。之前的pip檔案又沒有備份,很扎心,以為自己要重新下載python3.6版本了。

所以到系統設定中去解除安裝,結果提示無法解除安裝?python3.6 is not installed in my computer!

扎心,所以我點選了一下修復按鈕:


在這裡插入圖片描述
點選修改就可以看到repair(修復)這一個按鈕 修復過後,我發現可以解除安裝了,然而!!!我趕緊撤回,cancel,(因為我想確認一下pip的問題是不是也修復了),果不其然,pip可以正常使用了,真是神了。
所以,結論是:通過python3.6版本的修復功能,可以對pip的問題(即pip Fatal error in launcher: Unable to create process using ...)進行修復。

repair按鈕如下圖:


在這裡插入圖片描述
python3.6版本的修復功能

真的很神奇。但確實有用。

anaconda研究

這個放在下一篇文章吧,我很好奇anaconda是不是不需要提前安裝python環境,直接整合在內部安裝包裡面。

參考文獻