国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

講講 Python Launcher 是什么鬼東西?

開發(fā) 后端
你可能在他處見到過這鬼東西,when you install or uninstall python, and so on。那么你肯定與我一樣對(duì)這個(gè)鬼東西起了一絲興趣趣!

 你可能在他處見到過這鬼東西,when you install or uninstall python, and so on。那么你肯定與我一樣對(duì)這個(gè)鬼東西起了一絲興趣趣!

1. 問題所在

由于Python2.x版本的腳本和Python3.x版本的腳本在語(yǔ)法上會(huì)有不兼容的情況。那么,必須使用不同的策略來允許【py】腳本使用基于腳本指定的Python解釋器版本來選擇合適的Python解釋器!這句話相當(dāng)?shù)霓挚?!說人話,就是我有個(gè)test腳本需要Python2.x版本的解釋器來執(zhí)行。

  1. python test.py 

你如何確保執(zhí)行該腳本的解釋器版本就是我需要的解釋器!也就是,如何確定你就是我需要的那個(gè)姑娘!上面的“python”命令,是系統(tǒng)在PATH中找到的。而PATH中Python變量,有可能被我們手動(dòng)修改,拋開這個(gè)不談,一般的,‘python’命令是調(diào)用Python3.x版本的解釋器。但這不完全可靠,因?yàn)楫?dāng)系統(tǒng)在PATH中找‘python’命令時(shí),如果Python2.x版本的在Python3.x的前面,那么, Python的默認(rèn)解釋器將變?yōu)?.x版本,因?yàn)橄到y(tǒng)找到一個(gè)就返回了(系統(tǒng)在Python2.x的安裝目錄中找到了python.exe)。想想你的Python解釋器的安裝目錄內(nèi)。不管是哪個(gè)版本都有這些:

針對(duì)這個(gè)弊端,又有了另一個(gè)約定:

•python2將引用Python 2.x的某些版本•python3將引用Python 3.x的某些版本

要了解更多的關(guān)于Python在‘python’命令方面的其他的約定,請(qǐng)參考PEP 394

在 Linux 中

在Linux中(基于Unix的系統(tǒng)中),通過軟連接的方式來綁定指定的Python解釋器。比如:

這些軟連將不同的python命令指向一個(gè)實(shí)際位置的Python解釋器的啟動(dòng)目錄。而這些在哪用到呢,被【Shebang】用到了,也就是俗稱的文件頭(這里只聊shebang關(guān)于Python文件頭的部分)。通過文件頭系統(tǒng)就去軟連中找到對(duì)應(yīng)的那個(gè)‘python’命令,而該命令有綁定到一個(gè)具體的Python解釋器。

  1. #!/usr/bin/python2 

在 Windows 中

上述問題也存在與Windows系統(tǒng)中,那么我們也希望在Windows中和Unix中同樣運(yùn)行【Shebang】的能力,并且——沒有什么是又好使又不需要發(fā)明新的語(yǔ)法或者約定來描述更讓人愉快的事情了!經(jīng)過后來的完善,在PEP 397中正式出現(xiàn)并伴隨Python3.3版本發(fā)布。它叫【Python Launcher】

2. 解決問題

Python launcher是用于Windows中的一個(gè)實(shí)用程序,可幫助我們定位和執(zhí)行不同版本的Python解釋器。它允許腳本或者命令行指示特定的Python版本的首選項(xiàng),并將定位并執(zhí)行該版本。mmp,還是這么拗口!說人話就是它很智能的區(qū)分開是你想要手動(dòng)指定解釋版本執(zhí)行py腳本,還是想使用腳本文件指定的解釋器。你手動(dòng)的選擇Python解釋器,這是調(diào)用了你在【PATH】中的Python變量。舉個(gè)例子。你在Windows下的cmd中,使用Python3.7版本的解釋器,執(zhí)行一個(gè)文件:

  1. $ python3.7 test.py 

這么執(zhí)行發(fā)生了什么?Windows會(huì)在PATH中尋找python3.7這個(gè)解釋器。找到并執(zhí)行test.py文件。而這個(gè)test.py(你從未打開過該文件)文件呢,其實(shí)它需要python2.7版本的解釋器來執(zhí)行。這樣是不是就有問題了。我們用Python launcher來解決這個(gè)問題,這玩意兒它會(huì)正確的選擇最合適的Python版本。

如何安裝 Python launcher

一般的,從3.3版本開始,Python launcher會(huì)伴隨解釋器的安裝而可選安裝,在安裝步驟的可選項(xiàng)中可勾選。如本博客的第一個(gè)圖所示。它會(huì)被放在系統(tǒng)的PATH中(Python3.6版本開始是這樣的,之前版本稍有變動(dòng),參見Python3.3版本新功能),如果你不手動(dòng)添加的話。

另一種方式是單獨(dú)安裝。如本博客的第一個(gè)圖所示,你可以單獨(dú)勾選該項(xiàng)使之單獨(dú)安裝。在多個(gè)版本Python中,Python launcher只需安裝一次,并且兼容所有的Python版本。所以,如果在安裝3.6版本是,選擇Python launcher選項(xiàng),那么如果你在安裝3.7版本,該項(xiàng)則就無法選中,因?yàn)橐呀?jīng)安裝了。

Python launcher有兩個(gè)版本,一個(gè)是控制臺(tái)程序,另一個(gè)是‘windows’(即GUI)程序。這兩個(gè)程序?qū)?yīng)我們Python安裝目錄中的‘python.exe’和‘pythonw.exe’這兩個(gè)可執(zhí)行文件。

控制臺(tái)程序被命名為‘py.exe’,而windows程序則命名為‘pyw.exe’,并且pyw.exe將定位并執(zhí)行pythonw.exe。 

  1. M:\>where py  
  2. C:\Windows\py.exe  
  3. M:\>where pyw.exe  
  4. C:\Windows\pyw.exe 

這里僅用控制臺(tái)程序舉例。

如何使用 Python launcher?

如果你安裝Python launcher,那么你可以在任意的目錄打開cmd測(cè)試。

默認(rèn)的,Python launcher打開了你最新版本的解釋器??梢哉5氖褂煤屯顺?。而不是你最近安裝的某個(gè)版本的解釋器。

如果你的系統(tǒng)環(huán)境中有多個(gè)版本的Python解釋器,那么,要想啟動(dòng),則可以這樣:

當(dāng)然,Python launcher可以幫我們解決某些問題。比如現(xiàn)在有個(gè)test.py文件,我們用Python launcher來啟動(dòng)。 

  1. #! python2.7  
  2. import sys  
  3. print(sys.version)  
  4. # --------- 以上為文件內(nèi)容, 以下為執(zhí)行結(jié)果 --------------  
  5. M:\>py test.py  
  6. 2.7.14(v2.7.14:84471935ed, Sep162017, 20:19:30) [MSC v.150032 bit (Intel)] 

可以看到,Python launcher根據(jù)文件頭自動(dòng)幫我們調(diào)用了指定版本的解釋器來執(zhí)行該文件。我們修改下文件頭再來測(cè)試。 

  1. #! python3  
  2. import sys  
  3. print(sys.version)  
  4. # --------- 以上為文件內(nèi)容, 以下為執(zhí)行結(jié)果 --------------  
  5. M:\>py test.py  
  6. 3.7.0(v3.7.0:1bf9cc5093, Jun272018, 04:06:47) [MSC v.191432 bit (Intel)] 

這樣,Python launcher幫我們找到我們想要的那個(gè)姑娘。再來看個(gè)沒有文件頭的。 

  1. import sys  
  2. print(sys.version)  
  3. # --------- 以上為文件內(nèi)容, 以下為執(zhí)行結(jié)果 --------------  
  4. M:\>py test.py  
  5. 3.7.0(v3.7.0:1bf9cc5093, Jun272018, 04:06:47) [MSC v.191432 bit (Intel)] 

結(jié)果,Python launcher默認(rèn)使用最新版本的解釋器來執(zhí)行。我們也可以繞過文件頭,使用我們指定版本的Python解釋器。 

  1. #! python2  
  2. import sys 
  3. print(sys.version)  
  4. # --------- 以上為文件內(nèi)容, 以下為執(zhí)行結(jié)果 --------------  
  5. M:\>py -3 test.py  
  6. 3.7.0(v3.7.0:1bf9cc5093, Jun272018, 04:06:47) [MSC v.191432 bit (Intel)] 
  7. M:\>py -3.5 test.py  
  8. 3.5.4(v3.5.4:3f56838, Aug82017, 02:07:06) [MSC v.190032 bit (Intel)] 

如上所示,我們還可以指定版本來執(zhí)行腳本。

Python社區(qū)從多方面考慮下才有的Python launcher,方便我們?cè)趙indows下使用Python。如果現(xiàn)在的我們用不到它,只需大概知道是干嘛就行,不求甚解。

以上為我個(gè)人對(duì)Python launcher的理解。如有錯(cuò)誤,還望斧正。 

 

責(zé)任編輯:龐桂玉 來源: Python編程
相關(guān)推薦

2015-11-12 10:03:34

前端H5web

2021-11-10 12:13:02

HostonlyCookie瀏覽器

2020-09-27 06:53:57

MavenCDNwrapper

2017-04-03 15:35:13

知識(shí)體系架構(gòu)

2015-03-17 10:13:52

HTML5什么鬼

2019-10-30 10:13:15

區(qū)塊鏈技術(shù)支付寶

2020-11-04 13:01:38

FastThreadLocalJDK

2022-01-12 12:35:36

Linuxworkqueue工作隊(duì)列

2015-09-29 09:47:14

2019-01-07 12:40:19

2015-09-22 09:25:16

RTORPO災(zāi)備技術(shù)

2022-09-07 08:41:57

SpringIstio分布式

2021-01-07 05:22:47

MySQL字段存儲(chǔ)

2015-07-16 10:49:31

虛擬化容器技術(shù)

2019-01-17 14:35:01

2018-01-16 08:47:23

2016-10-21 09:58:19

WindowsKMSOEM系統(tǒng)

2021-07-13 09:08:19

磁盤陣列系統(tǒng)

2019-04-17 09:09:42

2015-05-21 15:45:13

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

欧美h视频在线观看| 亚洲精品666| ccyy激情综合| 国产一区二区欧美日韩| 麻豆传媒在线观看| 色综合久久天天| 欧美性猛交xxx乱久交| 国产一区不卡在线| 亚洲制服中文| 免费欧美在线视频| 天天久久人人| 三级一区在线视频先锋| 国产高清一区二区三区| 欧美+亚洲+精品+三区| 成人免费看黄网站| 日韩电影二区| 国产精品一区二区三区成人| 美女午夜精品| 国外成人性视频| 97超碰成人| 98精品在线视频| 成人va天堂| 最近更新的2019中文字幕 | 国产一区清纯| 欧美性猛交xxxx| 最新黄色片网站| 一区二区三区四区亚洲| 神马久久影视大全| 亚洲最大成人网4388xx| 午夜丝袜av电影| 亚洲国产一区二区视频| 香蕉97视频观看在线观看| 欧美日韩在线免费| 成人全视频高清免费观看| 在线一区二区三区四区五区| 中文字幕在线永久在线视频| 亚洲成人av资源| 一级在线视频| 午夜久久久影院| 人操人视频在线观看| 欧美三日本三级三级在线播放| 国产在线你懂得| 欧美日韩午夜影院| 欧美草逼视频| 精品国产一区久久久| 人人爱人人干婷婷丁香亚洲| 欧美丰满少妇xxxxx做受| 一区二区三区高清在线观看| 日本精品一区二区三区在线播放视频| 精品国产一区二区三区av片| 亚洲999一在线观看www| 亚洲影音先锋| 国产精品久久久久久久久电影网| 久久久精品2019中文字幕之3| 久久99精品久久久久久噜噜 | 91露出在线| 在线综合色站| 欧美成人精品福利| 久久精品亚洲国产奇米99| www.国产亚洲| 亚洲欧美怡红院| 成人资源www网在线最新版| 精品福利在线导航| 国产精品视频一区二区三区| 国产精品情侣自拍| 国产第一区电影| 黄动漫在线看| 中文精品视频| 98精品在线视频| 黄污在线观看| 国产精品入口免费视| 四虎国产精品免费久久5151| 51ⅴ精品国产91久久久久久| 国产精品毛片久久| 伊人久久大香线蕉成人综合网| 91麻豆精东视频| aaa在线观看| 欲色天天网综合久久| 亚欧日韩另类中文欧美| 秋霞av国产精品一区| 久久精品动漫| 先锋影音资源999| 欧美高清一级片在线| 超碰国产精品一区二页| 国产精品视频免费一区| 91丝袜美腿高跟国产极品老师| yiren22综合网成人| 日韩网站免费观看高清| 影院欧美亚洲| 91网址在线播放| 日韩欧美中文字幕精品| 欧美第一在线视频| 久久国产精品一区二区三区| 欧美国产视频在线| 尤物yw193can在线观看| 国产精品中文久久久久久久| 成人小视频免费观看| 大片免费在线观看| 国产精品久久久久久一区二区| 成人av电影免费观看| 亚洲性图自拍| 91成人在线看| 国产精品乱人伦一区二区| 国产传媒av在线| 96成人在线视频| 亚洲欧美视频一区| 欧美aaa视频| 少妇特黄a一区二区三区| 亚洲第一成人在线| 免费萌白酱国产一区二区三区| 日本福利视频网站| 亚洲第一区在线观看| 99re国产精品| 国产69精品久久久久孕妇| 欧美日本黄视频| 成人久久18免费网站麻豆| 免费在线国产视频| 国产在线精品一区二区中文| 亚洲欧美成aⅴ人在线观看| 成人激情久久| 国产精品国产对白熟妇| 日韩av影视综合网| 久久国产福利| 欧美日本一道| 国产日韩欧美亚洲一区| 色综合久久久久久久久| 91视频精品| 国产视频青青| 日本一区二区三区四区视频| 日本一区二区三区在线不卡| av在线播放一区二区| 18黄暴禁片在线观看| 亚洲天天在线日亚洲洲精| 美女网站色91| 草草在线视频| 米仓穗香在线观看| 亚洲精品国产精品乱码不99按摩 | 日韩电影在线视频| 嫩草影院网站在线| 国产精品日韩在线| 亚洲成人av一区二区| 欧美美女在线| 中文字幕理伦片免费看| 国产999精品久久久| 中文字幕一区二区日韩精品绯色| 蜜桃在线一区| 成人黄网大全在线观看| 91精品成人久久| 亚洲另类色综合网站| 精品免费视频| 污视频在线观看网站| 国产精成人品localhost| 在线国产电影不卡| 香蕉av777xxx色综合一区| 中文在线观看免费| 国产精品无码电影在线观看| 中文字幕国内精品| 国产精品久久久久久一区二区三区| 久久在线观看| 超碰在线免费| 国产在线播放一区二区| 欧美精品777| 开心九九激情九九欧美日韩精美视频电影| 中文字幕 在线观看| 香港三级韩国三级日本三级| 欧美激情第6页| 亚洲制服丝袜一区| 蜜桃伊人久久| 国内欧美日韩| 国产小黄视频| 国产伦精品一区二区三区四区免费 | 久草成色在线| 欧美日韩福利在线| 久久人人爽人人| 欧美性猛交xxxx| 日本视频一区二区三区| 日韩高清一区| 久草视频在线播放| 欧美国产综合视频| 在线播放国产一区二区三区| **网站欧美大片在线观看| 伊人久久大香线| 欧美a级在线观看| 91骚色在线| 久久亚洲一区二区| 一区二区三区精品99久久| 中文字幕一区二区三区在线观看| 欧美精品播放| 日本精品网站| 国产超碰在线| 粉嫩av一区二区三区天美传媒| 午夜欧美大片免费观看| 欧美日韩亚洲另类| 91视频你懂的| 亚洲欧美日韩国产综合精品二区| 久久爱91午夜羞羞| 最新四虎影在线在永久观看www| 亚洲一区二区三区涩| 国产精品国产自产拍高清av水多| 亚洲第一福利在线观看|