99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀電腦中存在多個版本的Python如何不沖突?
電腦中存在多個版本的Python如何不沖突?
2022-05-05
收藏

作者:小K

來源:麥叔編程

Python學習第一步,安裝Python環(huán)境,

別看是第一步,很多在職Python程序員可能都弄不太清楚環(huán)境變量怎么配?

如何安裝多版本的Python并與之共存?

?

如果你的工作涉及到Python多版本之間開發(fā)或測試,那么請收藏本文,

如果你安裝完Python發(fā)現(xiàn)pip命令不能用,也請收藏本文。

?

「本文將解決兩個問題,讓大家能明白Python環(huán)境變量該怎么配置。」

準備工作

  1. 沒有安裝過任何Python的Win10的電腦(筆者使用虛擬機演示)
  2. 兩個不同版本的Python安裝包
  3. 在某個盤中創(chuàng)建一個Python文件夾,然后在文件夾中創(chuàng)建Python36與Python310兩個子文件夾。
  4. 先安裝3.6的,按版本號裝至Python36與Python310兩個文件夾。
電腦中存在多個版本的Python如何不沖突?
電腦中存在多個版本的Python如何不沖突?
電腦中存在多個版本的Python如何不沖突?
電腦中存在多個版本的Python如何不沖突?

5. 按照第4步的方法安裝3.10。

電腦中存在多個版本的Python如何不沖突?

?

按照以上方法安裝完了之后,試試在cmd命令輸入Python,查看下當前解釋器版本號:

cmd的環(huán)境是Python3.10的,因為第二次安裝時把第一次3.6的Path覆蓋掉了。

「假如安裝過程中沒有勾選add Path,會造成python與pip兩個命令都無法使用?!?/span>

「假如安裝過程中第二次安裝時覆蓋了第一次的安裝的目錄,那么pip命令和Python命令會錯亂?!?/span>

?

分割Python3.6與Python3.10的cmd解釋環(huán)境

我們先查看下,當前系統(tǒng)的環(huán)境變量(按照圖片依次點擊):

隨便打開個文件夾,右鍵此電腦;

電腦中存在多個版本的Python如何不沖突?
電腦中存在多個版本的Python如何不沖突?
電腦中存在多個版本的Python如何不沖突?
電腦中存在多個版本的Python如何不沖突?
電腦中存在多個版本的Python如何不沖突?

?

由上圖可知,我們的環(huán)境變量中Python3.10與Python3.6都是存在的,并沒有缺失。

那么我們不需要去更改它。(這是正常的情況,如果你跟我的不一樣,就按照這個格式新建你的環(huán)境變量)

?

打開PythonPython36文件夾,

把Python和Pythonmw改成 Python36和Pythonmw36;

電腦中存在多個版本的Python如何不沖突?

再打開PythonPython310文件夾,

把Python和Pythonmw改成 Python310和Pythonmw310;

電腦中存在多個版本的Python如何不沖突?

在cmd命令行分別輸入,python36和python310進行測試;

電腦中存在多個版本的Python如何不沖突?

「Python3.6與Python3.10的cmd解釋環(huán)境分割完畢」

分割pip命令

經(jīng)過我們上面的一系列努力,兩個版本的pip都已經(jīng)廢了。

電腦中存在多個版本的Python如何不沖突?

先使用命令:

python36 -m pip install --upgrade pip --force-reinstall 

python310 -m pip install --upgrade pip --force-reinstall 

拯救下它們。

電腦中存在多個版本的Python如何不沖突?

進入Python36scripts

電腦中存在多個版本的Python如何不沖突?

把Python36scripts中的pip3改成pip36,

電腦中存在多個版本的Python如何不沖突?

再把Python310scripts中的pip3改成pip310,

電腦中存在多個版本的Python如何不沖突?

分別試下pip36 list和pip310 listpip命令也完美分割,

電腦中存在多個版本的Python如何不沖突?

在Vscode中使用不同Python版本的解釋環(huán)境

運行一個嶄新的Vscode,

電腦中存在多個版本的Python如何不沖突?

依次點擊,安裝好Python的插件,

電腦中存在多個版本的Python如何不沖突?

打開一個py文件,

電腦中存在多個版本的Python如何不沖突?

點擊右下角的選擇解釋器,

電腦中存在多個版本的Python如何不沖突?

選擇前面安裝Python的路徑

電腦中存在多個版本的Python如何不沖突?
電腦中存在多個版本的Python如何不沖突?

Python3.6環(huán)境 OK,

電腦中存在多個版本的Python如何不沖突?

Python3.10環(huán)境 OK,

電腦中存在多個版本的Python如何不沖突?

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }