這里就不講三方包和模塊的概念以及什么發展史了,直接進主題;
安裝方式:分為本地安裝和遠程安裝
本地安裝:
1.對于單文件模塊,直接拷貝到相關文件夾,存放在sys.path包含的路徑都可以,一般存放在Lib/site package文件夾中;
2.對于帶setup.py的文件,a,打開命令行工具,b,切換到setup.py所在目錄,c,執行命令python setup.py install(python2.x版本),執行命令python3 setup.py install(python3.x版本),注意如果項目使用的是distutils打包,則命令沒問題,如果項目使用setuptools打包,而本地又沒有安裝setuptools則會報錯;
安裝setuptools:在https://pypi.python.org/pypi這個網址下載壓縮文件,依然使用python setup.py install命令安裝;
3.安裝.egg文件,只需要用easy_install egg文件就可以了;eay_install是setuptools的腳本,所以需要先安裝setuptools;
4.安裝.whl文件,也可以使用easy_install whl文件,當然最好還是使用pip install .whl文件,在使用pip的時候,還是應該先安裝pip,安裝pip很簡單,也是通過easy_install pip;
5.遠程安裝,自動從遠程地址檢索,下載,安裝某個模塊,之前我們安裝setuptools的時候就是手動去檢索,下載和安裝的;遠程安裝其實和手動安裝一個流程;可以通過easy_install安裝,也可以通過pip install安裝,其實這兩個方式都是setuptools的功能;我們還可以從下面的命令行中看出,檢索地址就是之前我們的搜索地址,安裝路徑也是在Lib/site_packages里面;
6.easy_install安裝到不同的python版本,使用easy_install-X.X 庫名;X.X是python版本,默認安裝是按照環境變量配置的先后順序,默認安裝在最前面的python版本;
7.easy_install安裝包的不同版本,使用easy_install"庫名 限定符 版本 【,限定符版本】",【】部分是可選,限定符就是>,<,=;使用==,如果已經安裝這個版本,則切換到這個版本;查看當前哪個版本屬于活動狀態直接查看easy_install.pth文件就可以;
easy_install-3.6 "requests <2.14.1"
easy_install-3.6 "requests == 2.14.1"
8.easy_install更新包的版本,使用easy_install --upgrade 包名就可以了;
9.easy_install卸載包。手動卸載:刪除easy_install.pth里面對應的包名,刪除包文件,只需要兩步就可以手動刪除,easy_install.pth主要作用就是記錄當前通過easy_install.pth安裝的包,導入模塊時的路徑檢索;命令卸載:easy_install -m 包名,這個命令其實就是把包名從easy_install.pth里面移除;
10.easy_install -m 包名的真正作用:其實這個命令的真正作用是動態切換庫的版本,首先我們把easy_install.pth里面的包名移除,這樣解釋器就不會找到一個固定的包版本了,現在就可以使用以下命名:
import pkg_resources
pak_resources.require("包的具體版本")
11.easy_install切換安裝源:我們知道包都是托管在國外的服務器上的,我們在國內安裝的時候會很慢,所以我們就可以切換安裝源,使用國內的鏡像地址,相當于是在國內的服務器上面下載,就會快很多,切換安裝源其實就是去修改easy_install 的下載地址,我們找到下面這個地址,打開easy_install.py文件,然后去把https://pypi.python.org/pypi地址改成國內的就可以了,比如豆瓣鏡像地址:https://pypi.douban.com/simple/,使用這個地址下載就會快很多;
Python\Python36-32\Lib\site-packages\setuptools-39.0.1-py3.6\setuptools\command
easy_install的常用操作也就講完了,現在開始pip的常用操作,pip是基于setuptoos的安裝命令;
1.切換安裝源:一次性切換:pip install --index-url?https://pypi.douban.com/simple/requests,這種方式就是指定檢索,只會在這個地址去下載。還有一種擴展檢索,用于在官網上下載沒有之后去檢索的地址:pip install --extra-index-url?https://pypi.douban.com/simple/requests;永久性切換:需要在c://users/你的用戶名/創建pip文件夾/文件夾下面創建pip.ini文件,然后把下面內容考進去:下面內容就表示把安裝源切換成了豆瓣的地址;
[global]
index-url = https://pypi.douban.com/simple
[install]
trusted-host=pypi.douban.com
2.安裝在不同環境中:方式1,python -m pip install requests(python2.x)? python3 -m pip install requests(python3.x);方式2,py -2 -m pip install requests,py -3 -m pip install requests;第二種方式是因為python的安裝包實際上在系統中安裝了一個啟動器py.exe,我們可以通過啟動器去調用不同版本的python去執行某些腳本;
3.查看包的信息:所以已經安裝的包:pip list,不被依賴的包:pip list --not-required;過期的包:pip list --outdated;查看某個包的具體信息:pip show xxx;
4.搜索包:pip search xxx,指定路徑檢索 pip search -i 檢索地址 xxx;
5.安裝指定版本:pip install "模塊 限定符 版本號【,限定符版本】 "其實就是把之前的easy_install換成現在的pip install;
6.升級包:pip install --upgrade 包名;
7.卸載包:pip uninstall 包名;如果是通過easy_install安裝的會自動刪除easy_install.pth文件對應的包路徑,刪除對應的.egg包文件;如果是通過pip.install安裝會直接刪除對應的包文件;
8.生成凍結需求文檔:將當前安裝的第三方包記錄,存儲到指定文件中,以后可根據這個需求文檔去安裝三方包;命令是:pip freeze > ./requirements.text;? ./指的就是當前目錄;根據凍結需求文檔安裝三方包:pip install -r requirements;這個命令會把需求文檔里面所有的三方包都安裝,這樣就比一個一個去裝簡便不少;
9.三方模塊的版本說明:版本主要是由三部分組成:n1.n2.n3;n3的含義是當版本的bug修復之后,n3就加一,n2的含義是當新增一個小功能之后,n2加一同時n3應該置零,這里我們必須要知道的是n3就是針對版本的bug,當我們增加了小功能,升級了版本,針對這個版本目前還沒有bug所以必須是置零的,同樣的道理,當作了一個很大的修改之后,必須修改了之前的api,這時候n1就加一,同時n2和n3也要置零,因為針對當前的版本,我們沒有新增過小功能,也沒有解決過bug,所以自然應該置零了;當以后自己發布庫的時候也應該遵循這種規則;