19. 第三方庫的管理和虛擬環境

首頁 > 科技

19. 第三方庫的管理和虛擬環境

來源:海底探探 釋出時間:2023-08-16 15:21

Hi, 大家好。我是茶桁。

在我們之前的課程中,講解了資料,函式,類,模組以及包。這些基本上已經構成了Python的全部了。

那麼,我們在學習Python的包之後,有沒有思索過,既然Python有內建模組,我們也可以自己寫一些模組來使用,那一定有許多第三方寫過相應的模組來供我們使用。那麼,這些包該如何去找,找到以後如何使用和治理呢?今天,就讓我們來看看這個問題。

第三方庫的治理

現在許多程式語言都有第三方庫的提供,好比Ruby,Node等。而Python的生態也是發展的最好的之一。Python中比較牛逼的地方就是由大量的第三方庫提供給你使用。生態的蓬勃發展也是Python廣為流行的最大的原因之一。

Python的第三方庫的治理網站:https://pypi.org/。

如何安裝第三方庫?

pip就是Python得包管理工具,解決了包直接的依靠關係,可以利便的治理第三方庫(包)。類似於PHP中的Composer, 或者Nodejs中的npm, 又或者Mac中的Homebrew。

我們可以使用pip install 包名(庫名)來進行安裝。而假如是有多個Python環境的情況下,可能需要使用pip3。比如說,我們要安裝pymysql這個庫:

pip install pymysql

在安裝命令過程中,有的時候我們可能對版本會有一定的要求,並不是越新的版本越好。這個時候,我們也可以安裝指定版本的包

pip install 包名==版本

現在包都已經安裝到本地了,可是由於安裝的內容太多,我們可能有的時候會健忘自己以前是否安裝過這個包。為了避免重複再裝一次,我們可以搜尋一下看看:

pip show 包名

這樣,這個包的所有資訊就會打印出來供我們檢視:

當然,我們也有類似於想要檢視本地安裝的所有包的需求:

pip list

這樣,我們就可以把本地說安裝的包名以及版本都列出來進行檢視:

這些呢,就是我們在包治理常常用到的一些命令。

等等,大家在執行安裝的時候,一定會碰到安裝特別緩慢的情況。多數時候可能是因為我們所在的環境由於各種原因連線不上官方的源伺服器。

不外彆著急,我們可以切換到映象源上,找一個速度快的來下載安裝。

目前海內的安裝源有以下幾個可供選擇:

阿里雲http://mirrors.aliyun.com/pypi/simple/中國科技大學https://pypi.mirrors.ustc.edu.cn/simple/豆瓣(douban)http://pypi.douban.com/simple/清華大學https://pypi.tuna.tsinghua.edu.cn/simple/中國科學技術大學http://pypi.mirrors.ustc.edu.cn/simple/

修改源的方式也很簡樸,包括了「臨時修改」和「永久修改」兩種。

臨時修改,顧名思義,就是我們有的時候臨時需要切換到其他源上進行下載了。

我們可以使用pip的時候在後面加上-i引數,指定pip源:

pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple/

多數情況下,我仍是習慣於將源永久修改為一個速度較快的映象上,也懶得每次都輸入長傳的命令。那麼永久修改的方式輕微複雜點,我們分系統來看:

在Linux中,我們找到pip.conf這個檔案,一般來說,它的位置應該是~/.pip/pip.conf,假如沒有的話,那就建立一個,然後寫入如下內容:

[global]timeout = 6000index-url = https://pypi.tuna.tsinghua.edu.cn/simpletrusted-host = pypi.tuna.tsinghua.edu.cn

在Windows內原理也是一樣的,不同的是路徑和檔案有所不同。

我們在user目錄中建立一個pip目錄,如:C:Usersdupip, 然後在PIP目錄下新建一個pip.ini檔案,然後寫入內容:

[global]timeout = 6000index-url = https://pypi.tuna.tsinghua.edu.cn/simpletrusted-host = pypi.tuna.tsinghua.edu.cn

這樣,我們在之後安裝第三方庫的時候就會發現,速度快多了。

虛擬環境

虛擬環境呢,就是在當前的系統環境中,去配置另外一個Python得執行環境。我們理論上是可以建立多個不同的虛擬環境的,Python得虛擬環境相互獨立,互相之間不會影響。

那麼虛擬環境下呢,具有以下一些特點:

虛擬環境中可以在沒有許可權的情況下安裝新的庫(Linux系統中可能會泛起的問題)不同的應用可以使用不同的庫或不同的版本。虛擬環境中的庫進級也不影響其它環境虛擬環境可以作為一個專案的專有環境。在需要部署時,一鍵匯出專案的所需要的包

預設方式

Python本身就支援建立和治理虛擬環境。可以使用以下方式進行建立:

python -m venv 虛擬環境名

建立完成後,我們可以使用下面的方式進入虛擬環境,啟用虛擬環境

Linux

# 使用source命令去執行v1/bin/目錄下的activatelocalhost:code yc$ source v1/bin/activate

Windows

# Windows系統需要進入v1/Scripts/這個目錄cd v1/Scripts/# 執行activate.bat檔案activate.bat(v1) F:code

在這之後,我們現在就處於某一個虛擬環境中了,可以執行安裝等操縱:

pip install pymysqlpip show pymysql

那麼假如我的某一個環境被我給搞亂了,我也找不到原因,還不如重新安裝來的快。這會兒我們可能就想要退出並刪除這個虛擬環境:

假如想要退出虛擬環境,在Linux中,我們可以輸入下面這個命令:

# 退出虛擬環境# Linuxdeactivate

那假如是Windows中呢就比較簡單了,直接Ctrl+C就好了。

在退出之後,我們直接刪除虛擬環境的資料夾,就搞定了。

以上是我們不想要當前虛擬環境的情況下,那也有一種可能是我們需要更換電腦等原因,但是我想帶著我的環境一起遷移,這該怎麼辦?

這也好辦,我們可以到處當前環境所有安裝過的包:

# 檢視所有安裝的包pip list```packageversion------------------------Numpy1.3.1........# 匯出所有包到檔案pip freeze > ./requirements.txt

然後在下一個環境中,我們直接執行安裝檔案內所有包就可以了:

pip install -r requirements.txt

Conda

固然Python中已經有了包治理的方法,但是仍是不得不說,有時候第三方提供的方案確實香。

目前,我現在都是使用conda(Andaconda)來治理我本地的虛擬環境。其使用也是非常的簡樸了,我們可以去其官網上(https://www.anaconda.com/)下載並安裝對應自己系統的版本。

安裝完成後,Conda就會建立一個預設的base環境,我們之前一直使用的Jupyter Notebook也一併是安裝在環境中的。

那麼在Conda中,我們常常會用的命令如下:

# 安裝包conda install 包名稱# 安全方式安裝包conda install -c conda-forge 包名稱# 建立環境conda create --name 環境名 python=3.10 #最後是輸入當前環境要用的Python版本# 切換(啟用)環境conda activate 環境名# 檢視環境列表conda info --env# 刪除某個環境conda remove --name 環境名 --all

對比下來,conda真的是非常的利便。推薦大家使用。

那麼,今天的課程就到這裡結束了。我知道,今天的課程好像顯的特別的少。em....不是好像,是確實。

原因在於這一部分必需拿出一個章節來先容一下,否則大家平時在使用的過程中萬一將自己的預設環境搞亂了,但是又不知道該怎麼辦,確實挺煩人的。所以我專門拿一節出來,將環境的問題好好的跟大家先容下,順便也是告訴大家,不管你做什麼實驗和操縱,儘量新建一個環境來操縱。這樣,即便你把當前環境搞的亂七八糟無法恢復,刪了就好了。

好,那我們這節課到這裡也就結束了,咱們下節課講講如何處理異常。

Hi, 大家好。我是茶桁。

在我們之前的課程中,講解了資料,函式,類,模組以及包。這些基本上已經構成了Python的全部了。

那麼,我們在學習Python的包之後,有沒有思索過,既然Python有內建模組,我們也可以自己寫一些模組來使用,那一定有許多第三方寫過相應的模組來供我們使用。那麼,這些包該如何去找,找到以後如何使用和治理呢?今天,就讓我們來看看這個問題。

第三方庫的治理

現在許多程式語言都有第三方庫的提供,好比Ruby,Node等。而Python的生態也是發展的最好的之一。Python中比較牛逼的地方就是由大量的第三方庫提供給你使用。生態的蓬勃發展也是Python廣為流行的最大的原因之一。

Python的第三方庫的治理網站:https://pypi.org/。

如何安裝第三方庫?

pip就是Python得包管理工具,解決了包直接的依靠關係,可以利便的治理第三方庫(包)。類似於PHP中的Composer, 或者Nodejs中的npm, 又或者Mac中的Homebrew。

我們可以使用pip install 包名(庫名)來進行安裝。而假如是有多個Python環境的情況下,可能需要使用pip3。比如說,我們要安裝pymysql這個庫:

pip install pymysql

在安裝命令過程中,有的時候我們可能對版本會有一定的要求,並不是越新的版本越好。這個時候,我們也可以安裝指定版本的包

pip install 包名==版本

現在包都已經安裝到本地了,可是由於安裝的內容太多,我們可能有的時候會健忘自己以前是否安裝過這個包。為了避免重複再裝一次,我們可以搜尋一下看看:

pip show 包名

這樣,這個包的所有資訊就會打印出來供我們檢視:

Hi, 大家好。我是茶桁。

在我們之前的課程中,講解了資料,函式,類,模組以及包。這些基本上已經構成了Python的全部了。

那麼,我們在學習Python的包之後,有沒有思索過,既然Python有內建模組,我們也可以自己寫一些模組來使用,那一定有許多第三方寫過相應的模組來供我們使用。那麼,這些包該如何去找,找到以後如何使用和治理呢?今天,就讓我們來看看這個問題。

第三方庫的治理

現在許多程式語言都有第三方庫的提供,好比Ruby,Node等。而Python的生態也是發展的最好的之一。Python中比較牛逼的地方就是由大量的第三方庫提供給你使用。生態的蓬勃發展也是Python廣為流行的最大的原因之一。

Python的第三方庫的治理網站:https://pypi.org/。

如何安裝第三方庫?

pip就是Python得包管理工具,解決了包直接的依靠關係,可以利便的治理第三方庫(包)。類似於PHP中的Composer, 或者Nodejs中的npm, 又或者Mac中的Homebrew。

我們可以使用pip install 包名(庫名)來進行安裝。而假如是有多個Python環境的情況下,可能需要使用pip3。比如說,我們要安裝pymysql這個庫:

pip install pymysql

在安裝命令過程中,有的時候我們可能對版本會有一定的要求,並不是越新的版本越好。這個時候,我們也可以安裝指定版本的包

pip install 包名==版本

現在包都已經安裝到本地了,可是由於安裝的內容太多,我們可能有的時候會健忘自己以前是否安裝過這個包。為了避免重複再裝一次,我們可以搜尋一下看看:

pip show 包名

這樣,這個包的所有資訊就會打印出來供我們檢視:

上一篇:影片號矩陣是... 下一篇:CRM開發的八...
猜你喜歡
熱門閱讀
同類推薦