亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        如何通過虛擬環(huán)境有效管理Python第三方庫

        2021-08-23 04:20:50郭偉強(qiáng)
        廣東教育·職教版 2021年7期
        關(guān)鍵詞:虛擬環(huán)境電腦工具

        郭偉強(qiáng)

        Python語法簡(jiǎn)潔,零基礎(chǔ)都可以學(xué);python數(shù)據(jù)結(jié)構(gòu)豐富,它提供了列表、元組、字典以及Numpy下的數(shù)組、Pandas等;Python是一款免費(fèi)的編程語言,它提供源碼,可以根據(jù)自己的需要改寫代碼從而實(shí)現(xiàn)自己想要的結(jié)果;Python是一種多范式語言,它支持多種編程風(fēng)格,這使得它的通用性極強(qiáng),現(xiàn)在使用Python是IT行業(yè)的一種趨勢(shì)。但是,作為初學(xué)者,我們還是會(huì)遇到一些問題,本文將詳細(xì)講解并分析出現(xiàn)問題時(shí)我們?cè)撊绾谓鉀Q。

        一、配置虛擬環(huán)境

        1.虛擬環(huán)境

        虛擬環(huán)境是一個(gè)虛擬化、從電腦獨(dú)立出來的環(huán)境。每個(gè)Python虛擬環(huán)境都有一個(gè)獨(dú)立的Python解釋器、一套獨(dú)立的Python標(biāo)準(zhǔn)庫,還有一套獨(dú)立的工具和第三方庫。虛擬環(huán)境雖小,但什么都能做。虛擬環(huán)境之間相互獨(dú)立,互不干擾,當(dāng)我們進(jìn)入某個(gè)虛擬環(huán)境,下載并安裝某個(gè)庫,相應(yīng)的庫也只會(huì)對(duì)這個(gè)虛擬環(huán)境起作用。

        2.虛擬環(huán)境的意義

        在實(shí)際項(xiàng)目開發(fā)中,我們通常會(huì)根據(jù)自己的需求下載不同的第三方庫,但是每個(gè)項(xiàng)目使用的第三方庫可能不一樣,或使用的版本不一樣,這就需要不斷更新或卸載相應(yīng)的庫。

        問題一:項(xiàng)目A需要某個(gè)模塊的1.0版本,項(xiàng)目B需要這個(gè)模塊的2.0版本。如果沒有安裝虛擬環(huán)境,使用這兩個(gè)項(xiàng)目時(shí),就需要來回卸載安裝,這樣很容易給項(xiàng)目帶來錯(cuò)誤。

        問題二:以前開發(fā)的項(xiàng)目需要在Python2.7環(huán)境下運(yùn)行,而現(xiàn)在的項(xiàng)目需在Python3環(huán)境中運(yùn)行,如果不使用虛擬環(huán)境,這兩個(gè)項(xiàng)目有可能無法同時(shí)使用,使用Python3則之前的項(xiàng)目無法運(yùn)行,反之則新項(xiàng)目運(yùn)行有麻煩。如果分別為這兩個(gè)項(xiàng)目配置不同的虛擬環(huán)境,就可以很好地解決這個(gè)問題。

        問題三:項(xiàng)目1需要pymysql模塊、requests模塊,而項(xiàng)目2需要numpy模塊與pandas模塊。

        問題四:當(dāng)所有的項(xiàng)目都使用同一個(gè)Python運(yùn)行環(huán)境時(shí),也會(huì)產(chǎn)生第三方庫的版本沖突(見圖1)。

        二、確定虛擬環(huán)境的路徑

        1.Python運(yùn)行環(huán)境(對(duì)應(yīng)于Python的安裝目錄)

        安裝目錄下有Python解釋器、Python標(biāo)準(zhǔn)庫、工具(pip、easy-install等),在site-packages目錄中,安裝的所有第三方庫及其版本,例如pygame(1.9.6)、requests(2.22.0)、pymysql(0.81)、numpy(1.18.1)等。

        2.虛擬環(huán)境的Python運(yùn)行環(huán)境(根據(jù)Python的安裝目錄虛擬出來)

        假設(shè)有3個(gè)項(xiàng)目,都要用到mysql數(shù)據(jù)庫,但是他們的版本不一樣,這時(shí)候我們就可以在各個(gè)項(xiàng)目的目錄下創(chuàng)建各自的虛擬環(huán)境,每個(gè)虛擬環(huán)境下都有單獨(dú)的Python解釋器、Python標(biāo)準(zhǔn)庫、工具(pip、easy-install等)。因此,我們只需要根據(jù)項(xiàng)目需求安裝不同版本的pymysql就可以實(shí)現(xiàn)。

        3.確定當(dāng)前Python解釋器對(duì)應(yīng)的Python安裝目錄

        在windows系統(tǒng)下,當(dāng)前Python解釋器的完整路徑是where python的執(zhí)行結(jié)果中的第一行,對(duì)應(yīng)的Python安裝目錄是完整路徑中\python.exe前面的部分。

        三、安裝virtualenv

        1.virtualenv

        (1)virtual的意思是“虛擬的”。

        (2)env是“environment”的縮寫,意思是“環(huán)境”。

        (3)virtualenv即“虛擬環(huán)境”。

        2.通過工具pip下載安裝

        在windows下,打開命令提示符窗口,輸入命令pip install virtualenv就可以安裝。Python使用pip方法安裝第三方庫時(shí),默認(rèn)情況下,需要從https://pypi.org/資源庫中下載,由于安裝源在國(guó)外,可能下載速度慢,甚至無法下載,這時(shí),我們可以通過國(guó)內(nèi)源安裝相應(yīng)的庫,有以下兩種方式。

        (1)臨時(shí)使用國(guó)內(nèi)源安裝。

        pip install virtualenv -i http://pypi.douban.com/simple/

        pip install -i http://pypi.douban.com/simple/ virtualenv

        如果提示不可信,則將網(wǎng)站設(shè)置為受信任。

        pip install virtualenv -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

        pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com virtualenv

        #此參數(shù)“--trusted-host”表示信任,如果上一個(gè)提示不受信任,就使用這個(gè)。

        (2)永久使用國(guó)內(nèi)源安裝。

        ①新建pip配置文件夾,直接在user用戶目錄中創(chuàng)建一個(gè)名為pip的文件夾(即%HOMEPATH%\pip)。

        ②接著在pip文件夾中創(chuàng)建一個(gè)名為pip的文本文件(后綴名由“.txt”改為“ini”),這里以豆瓣網(wǎng)為例,文件內(nèi)容如下:

        [global]

        index-url = https:// pypi.douban.com/simple

        [install]

        trusted-host = https:// pypi.douban.com

        # trusted-host 此參數(shù)是為避免麻煩,否則使用時(shí)可能會(huì)提示不受信任。

        (3)安裝好后,輸入virtualenv--version命令測(cè)試安裝是否成功。

        (4)常用的國(guó)內(nèi)源有:清華大學(xué),https://pypi.tuna.tsinghua.edu.cn/simple;阿里云,http://mirrors.aliyun.com/pypi/simple/;豆瓣,http://pypi.douban.com/simple/。

        四、使用virtualenv

        1.創(chuàng)建虛擬環(huán)境

        (1)在創(chuàng)建虛擬環(huán)境之前,首先要確定好被創(chuàng)建的虛擬環(huán)境所在的目錄,然后在命令提示符窗口或終端窗口中切換到該目錄。

        (2)創(chuàng)建虛擬環(huán)境的語法是virtualenv 虛擬環(huán)境的名稱。如果存在多個(gè)Python解釋器,可以選擇指定一個(gè)Python解釋器(比如“virtualenv –p /uar/bin/python3.7 MyVirEnv,-p后為指定的Python解釋器),沒有指定則由系統(tǒng)默認(rèn)的解釋器來搭建。另外,如果在創(chuàng)建虛擬環(huán)境時(shí)繼承系統(tǒng)第三方庫,可以使用命令virtualenv --system-site-packages MyVirEnv,參數(shù)--system-site-packages 指定創(chuàng)建虛擬環(huán)境時(shí)繼承系統(tǒng)第三方庫。

        虛擬環(huán)境建好之后,會(huì)在項(xiàng)目目錄下面自動(dòng)創(chuàng)建一個(gè)名為MyVirEnv的虛擬環(huán)境目錄。它是一個(gè)獨(dú)立的Python運(yùn)行環(huán)境,包含Python可執(zhí)行文件以及pip庫,可以直接安裝第三方庫。不過已經(jīng)安裝到系統(tǒng)Python環(huán)境中的第三方庫不會(huì)被復(fù)制過來,這樣,我們就可以得到一個(gè)不帶任何第三方庫的“干凈”的Python運(yùn)行環(huán)境。

        2.激活虛擬環(huán)境

        首先要切換到虛擬環(huán)境MyVirEnv目錄下的Scripts,然后執(zhí)行activate,最后用pip list 查看當(dāng)前虛擬環(huán)境下所安裝的第三方庫。

        3.應(yīng)用虛擬環(huán)境

        激活虛擬環(huán)境后,當(dāng)前的Python解釋器就是該虛擬環(huán)境中的Python解釋器;當(dāng)前的pip、pip3和easy_install等工具就是該虛擬環(huán)境中的相應(yīng)工具;當(dāng)前的第三方庫就是該虛擬環(huán)境中的第三方庫。

        4.刪除虛擬環(huán)境

        在某個(gè)虛擬環(huán)境中完成操作后,如果想退出該虛擬環(huán)境,就需要反激活該虛擬環(huán)境。操作方法:當(dāng)前目錄可以是任意一個(gè)目錄,執(zhí)行deactivate命令,當(dāng)前路徑的最前面的小括號(hào)以及小括號(hào)中虛擬環(huán)境的名稱會(huì)自動(dòng)消失。另外,當(dāng)前的Python解釋器就是Python的安裝目錄中的Python解釋器,當(dāng)前的pip、pip3和easy_install等工具就是Python的安裝目錄中的相應(yīng)工具,當(dāng)前的第三方庫就是Python的安裝目錄中的第三方庫。具體結(jié)構(gòu)如圖2所示。

        五、不同系統(tǒng)之間的項(xiàng)目轉(zhuǎn)移

        問題一:在電腦A上的虛擬環(huán)境中正常運(yùn)行的某個(gè)Python項(xiàng)目,如何保證它在電腦B上也可以正常運(yùn)行呢?

        問題二:如果兩臺(tái)電腦的操作系統(tǒng)不一樣,那么電腦A中的虛擬環(huán)境在電腦B中是無法使用的,如果項(xiàng)目使用了虛擬環(huán)境中的很多第三方庫,就會(huì)導(dǎo)致虛擬環(huán)境的體積較大,不方便拷貝。

        解決方法:在電腦A上,對(duì)于項(xiàng)目使用的虛擬環(huán)境中的所有第三方庫,形成一個(gè)名稱和版本的列表,存放在某個(gè)文件中;把電腦A上的項(xiàng)目和文件拷貝到電腦B上;在電腦B上新建一個(gè)虛擬環(huán)境,并根據(jù)文件把項(xiàng)目使用的第三方庫都下載和安裝到虛擬環(huán)境中。

        我們可以使用pip freeze>requirements.txt將依賴包的信息進(jìn)行保存,使用這條命令后,目錄下會(huì)多出一個(gè)requirements.txt文件。當(dāng)我們將項(xiàng)目目錄轉(zhuǎn)移至目的系統(tǒng)后,重建并激活虛擬環(huán)境(Python版本需一致),在項(xiàng)目目錄下執(zhí)行命令pip install -r requirements.txt即可獲得與之前開發(fā)時(shí)相同的依賴包和相同的環(huán)境。

        六、在PyCharm中使用virtualenv

        創(chuàng)建一個(gè)純Python項(xiàng)目,選中單選按鈕New environment using,默認(rèn)是通過Virtualenv創(chuàng)建虛擬環(huán)境。在PyCharm中使用virtualenv比較方便,不需要手動(dòng)激活虛擬環(huán)境,關(guān)聯(lián)虛擬環(huán)境后可以直接在虛擬環(huán)境中進(jìn)行操作。

        責(zé)任編輯 陳春陽

        猜你喜歡
        虛擬環(huán)境電腦工具
        谷歌發(fā)布通用AI智能體
        虛擬環(huán)境中空間壓縮問題的影響與改善
        包裝工程(2023年16期)2023-08-25 11:32:42
        電腦
        電腦節(jié)來了
        電腦能夠自己思考嗎?
        前庭刺激對(duì)虛擬環(huán)境三維空間定向的影響及與空間能力的相關(guān)關(guān)系
        載人航天(2021年5期)2021-11-20 06:04:34
        波比的工具
        波比的工具
        “巧用”工具
        讀者(2017年18期)2017-08-29 21:22:03
        虛擬環(huán)境下大數(shù)據(jù)智能并行聚類方法研究
        黄片视频免费在线播放观看| а的天堂网最新版在线| 日本精品熟妇一区二区三区| 日韩极品视频免费观看| 无码va在线观看| 成人三级在线| 亚洲传媒av一区二区三区| 国产三级黄色免费网站| 亚洲伊人一本大道中文字幕| 国内免费AV网站在线观看| 蜜桃视频中文字幕一区二区三区| 国产老熟女精品一区二区| 97久久超碰国产精品旧版| 一区一级三级在线观看| 少妇人妻出水中文字幕乱码| 麻豆91蜜桃传媒在线观看| 亚洲国产精品福利片在线观看| 国产在线观看黄| av国产免费在线播放| 无码人妻一区二区三区在线 | 亚洲AV秘 无码一区二区在线| 亚洲一品道一区二区三区| 亚洲av无码一区二区三区天堂古代| 奇米影视久久777中文字幕| 日本高清中文一区二区三区| 可免费观看的av毛片中日美韩| 久久精品噜噜噜成人| 国产在线不卡视频| 中文字幕成人精品久久不卡91| 国产果冻豆传媒麻婆精东| 中文在线а√天堂官网| 99精品国产av一区二区| 久久精品国产亚洲av天| 无码精品人妻一区二区三区影院 | 中文字幕亚洲乱码熟女1区 | 日韩乱码人妻无码中文字幕视频| 国产精彩刺激对白视频| 青青青免费在线视频亚洲视频 | 亚洲中文字幕无码专区| 日本第一区二区三区视频| 日韩女同精品av在线观看|