近期周圍很多朋友詢問,python如何管理包和模組,並且很多常用的包使用pip安裝的時候,總是因為網路問題中斷,在學習新包時造成了很大的挫敗感,這些問題也是之前自己在學習過程中,遇到的痛點,所以抽出精力,整理了下之前關於這塊的學習筆記,形成文章,希望給其他python道友以幫助,也給自己後續查閱帶來方便。
python語言的核心能快速上手並且極具吸引力的是其異常豐富和強大的包,這些包給我們封裝好了日常工作中遇到的問題或需求的各種解決方案,所以在python基礎知識較為牢固時,遇到具體問題,具體學習對應的包即可。
而學習各種包的第一步,就是將這個包安裝到本地或部署到伺服器上,本文主要說明在使用pip安裝和管理包時遇到的較為常見的問題和解決方案,尤其是映象安裝(因為眾所周知的原因,國內訪問pipy可能會出現問題等)
特別注意:以下示意**,均是在電腦終端內完成執行。
以下命令,均在終端執行
一般在學習和使用python的時候,最常用的是安裝或者刪除指定的包。
pip常用命令 命令
說明示意
install
安裝包,後面跟需安裝的包名,可一次性安裝多個包
也可用於公升級pip 命令
pip install packagename1 packagename2
pip install pillow-4.2******x.whl
pip install --upgrade pip
uninstall
解除安裝包,後面跟需解除安裝的包名,可一次性解除安裝多個包
pip uninstall packagename1 packagename2
list
羅列當前已安裝的包,會包含包名和版本號
pip list
如果需要獲取幫助,或者想進一步了解一些命令的使用資訊,可以使用help獲取資訊。
命令說明
示意pip --help
獲取關於pip命令的幫助資訊,會羅列pip所有的命令
pip --help
pip help command
獲取關於指定pip命令的幫助資訊
pip help install
一般在自己電腦或者本地伺服器上完成某個python專案的開發,或者自己希望將平時的python開發環境(主要是包依賴)完全的copy到另一台電腦時,則需要對某專案的依賴包進行打包,然後在新的伺服器或者電腦上重新部署,這樣就可以實現自己編寫的python**,在新伺服器或電腦上可以執行正常。
第一步,使用freeze命令,將當前電腦上已經安裝的包,收集報名和版本號,並匯出為txt檔案,並可對匯出的txt檔案進行二次編輯,刪除明確不需要的包,不過一般不建議如此,因為實際開發專案時,都是在指定的虛擬環境內完成,該環境只會安裝專案依賴的包。
pip freeze > path_name
#以下為示例,即將依賴檔案匯出到當前資料夾內,檔名為requirements.txt
pip freeze > requirements.txt
然後可以將以上匯出的txt檔案,copy到新的伺服器或電腦上,並記住copy的路徑,一般是放到新電腦指定專案指定虛擬環境的根資料夾下
pip install -r path_name
#以下為示例,即依賴包的txt檔案在當前資料夾內,檔名為requirements.txt
pip install -r requirements.txt
一些使用mac的朋友,因為mac內建的是python2版本,導致:
在終端內使用pip命令時,預設一般是使用的pip2版本,每次都要輸入pip3才能使用pip3版本,如果一不留神,在使用的時候,就會出現意想不到的錯誤
在終端使用python命令時,預設一般使用的是python2版本,每次需要顯式輸入python3才行。
以下將展示如何修改pip和python的預設版本,主要是修改.bash_profile配置檔案,該檔案主要用於配置使用者級環境變數,和python相關的,包括搜尋模組的路徑等變數,均在該檔案內進行配置。
#主要需修改電腦的配置檔案,此處主要針對mac電腦
#主要修改.bash_profile配置檔案
#1、切換到使用者路徑,並建立.bash_profile檔案
cd ~
sudo touch .bash_profile
#2、編輯模式開啟以上配置檔案
vi .bash_profile
i#3、插入以下兩行語句
alias python="/usr/local/bin/python3.8" #插入此句,修改輸入python命令語句時,對應執行的python的預設版本
alias pip="/usr/local/bin/pip3.8" #插入此句,修改輸入pip命令語句時,執行的對應pip的預設版本
#4、儲存退出並執行生效
esc:wq
source ~/.bash_profile
#如果希望只是臨時使用某個映象伺服器安裝指定的包,則可以用以下語句:
pip install -i mirror_url_path packagename
#具體例子如下,比如,使用清華大學的映象安裝 scrapy 包
pip install -i scrapy
如果希望後續使用pip安裝所有包的時候,均使用指定的映象伺服器,則可以做以下配置
#如果希望變更預設pip命令安裝源,則需要pip的配置檔案
#針對mac,pip的配置檔案位址為 ~/.config/pip/pip.conf,一般使用以下兩個命令修改該檔案內的資訊
#將某映象位址修改為預設
pip config set global.index-url mirror_url_path #指定映象伺服器網域名稱位址
pip config set global.timeout number #設定連線超時時間,以秒為單位,指定number秒後,連線超時
pip config set install.trusted-host hostname #將以上映象伺服器的網域名稱加入到install命令的信任網域名稱列表內
#具體例子
pip config set global.index-url
pip config set global.timeout 300
pip config set install.trusted-host pypi.tuna.tsinghua.edu.cn
#如果希望刪除以上引數的值,則可以用unset命令,比如刪除timeout引數配置
pip config unset global.timeout
#國內比較常用的映象位址,本人選擇的是阿里雲的映象服務
#豆瓣
#清華開源
#阿里雲,比較靠譜,最起碼可以安裝jupyter
#中科大
#華中理工
#山東理工
pip是Python的包管理
pip 是python 的包管理器,在新的發行版本中會預設安裝 安裝路徑,預設路徑如下 library frameworks python.framework versions 2.7 lib python2.7 site packages scrapy 在命令列下輸入 pip list 比較老的版...
python包管理工具pip
接觸了ruby,發現它有個包管理工具rubygem很好用,並且有很完備的文件系統 發現python下也有同樣的工具,包括easy install和pip。不過,我沒有細看easy install的方法,這就簡單的介紹一下pip的安裝與使用 準備 curl o python distribute se...
Python包管理及安裝(pip詳解)
pip 是 python 包管理工具,該工具提供了對python 包的功能 o get pip.py接下來要執行安裝指令碼,但需要注意一點,用哪個版本的 python 執行安裝指令碼,pip 就被關聯到哪個版本,如果是 python3 則執行以下命令 sudo python3 get pip.py一...