国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文了解pip的超全使用指南

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-03-11 16:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 查詢軟件包

查詢當前環境安裝的所有軟件包

$ pip list

查詢 pypi 上含有某名字的包

$ pip search pkg

查詢當前環境中可升級的包

$ pip list --outdated

查詢一個包的詳細內容

$ pip show pkg

2. 下載軟件包

在不安裝軟件包的情況下下載軟件包到本地

$ pip download --destination-directory /local/wheels -r requirements.txt

下載完,總歸是要安裝的,可以指定這個目錄中安裝軟件包,而不從 pypi 上安裝。

$ pip install --no-index --find-links=/local/wheels -r requirements.txt

當然你也從你下載的包中,自己構建生成 wheel 文件

$ pip install wheel
$ pip wheel --wheel-dir=/local/wheels -r requirements.txt

3. 安裝軟件包

使用 pip install 可以很方便地從 pypi 上搜索下載并安裝 python 包。

如下所示

$ pip install requests

這是安裝包的基本格式,我們也可以為其添加更多參數來實現不同的效果。

3.1 只從本地安裝,而不從 pypi 安裝

# 前提你得保證你已經下載 pkg 包到 /local/wheels 目錄下
$ pip install --no-index --find-links=/local/wheels pkg

3.2 限定版本進行軟件包安裝

以下三種,對單個 python 包的版本進行了約束

# 所安裝的包的版本為 2.1.2
$ pip install pkg==2.1.2

# 所安裝的包必須大于等于 2.1.2
$ pip install pkg>=2.1.2

# 所安裝的包必須小于等于 2.1.2
$ pip install pkg<=2.1.2

以下命令用于管理/控制整個 python 環境的包版本

# 導出依賴包列表
pip freeze >requirements.txt

# 從依賴包列表中安裝
pip install -r requirements.txt

# 確保當前環境軟件包的版本(并不確保安裝)
pip install -c constraints.txt

3.3 限制不使用二進制包安裝

由于默認情況下,wheel 包的平臺是運行 pip download 命令 的平臺,所以可能出現平臺不適配的情況。

比如在 MacOS 系統下得到的 pymongo-2.8-cp27-none-macosx_10_10_intel.whl 就不能在 linux_x86_64 安裝。

使用下面這條命令下載的是 tar.gz 的包,可以直接使用 pip install 安裝。

比 wheel 包,這種包在安裝時會進行編譯,所以花費的時間會長一些。

# 下載非二進制的包
$ pip download --no-binary=:all: pkg

#安裝非二進制的包
$ pip install pkg --no-binary

3.4 指定代理服務器安裝

當你身處在一個內網環境中時,無法直接連接公網。這時候你使用pip install 安裝包,就會失敗。

面對這種情況,可以有兩種方法:

下載離線包拷貝到內網機器中安裝

使用代理服務器轉發請求

第一種方法,雖說可行,但有相當多的弊端

步驟繁雜,耗時耗力

無法處理包的依賴問題

這里重點來介紹,第二種方法:

$ pip install --proxy [user:passwd@]http_server_ip:port pkg

每次安裝包就發輸入長長的參數,未免有些麻煩,為此你可以將其寫入配置文件中:$HOME/.config/pip/pip.conf

對于這個路徑,說明幾點

不同的操作系統,路徑各不相同

# Linux/Unix:
/etc/pip.conf
~/.pip/pip.conf
~/.config/pip/pip.conf

# Mac OSX:
~/Library/Application Support/pip/pip.conf
~/.pip/pip.conf
/Library/Application Support/pip/pip.conf

# Windows:
%APPDATA%\pip\pip.ini
%HOME%\pip\pip.ini
C:\Documents and Settings\All Users\Application Data\PyPA\pip\pip.conf (Windows XP)
C:\ProgramData\PyPA\pip\pip.conf (Windows 7及以后)

若在你的機子上沒有此文件,則自行創建即可

如何配置,這邊給個樣例:

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/

# 替換出自己的代理地址,格式為[user:passwd@]proxy.server:port
proxy=http://xxx.xxx.xxx.xxx:8080

[install]
# 信任阿里云的鏡像源,否則會有警告
trusted-host=mirrors.aliyun.com

3.5 安裝用戶私有軟件包

很多人可能還不清楚,python 的安裝包是可以用戶隔離的。

如果你擁有管理員權限,你可以將包安裝在全局環境中。在全局環境中的這個包可被該機器上的所有擁有管理員權限的用戶使用。

如果一臺機器上的使用者不只一樣,自私地將在全局環境中安裝或者升級某個包,是不負責任且危險的做法。

命令很簡單,只要加上 --user 參數,pip 就會將其安裝在當前用戶的 ~/.local/lib/python3.x/site-packages 下,而其他用戶的 python 則不會受影響。

pip install --user pkg

來舉個例子

# 在全局環境中未安裝 requests
[root@localhost ~]# pip list | grep requests
[root@localhost ~]# su - test
[root@localhost ~]#

# 由于用戶環境繼承自全局環境,這里也未安裝
[test@localhost ~]# pip list | grep requests
[test@localhost ~]# pip install --user requests
[test@localhost ~]# pip list | grep requests
requests (2.22.0)
[test@localhost ~]#

# 從 Location 屬性可發現 requests 只安裝在當前用戶環境中
[test@ws_compute01 ~]$ pip show requests
---
Metadata-Version: 2.1
Name: requests
Version: 2.22.0
Summary: Python HTTP for Humans.
Home-page: http://python-requests.org
Author: Kenneth Reitz
Author-email: me@kennethreitz.org
Installer: pip
License: Apache 2.0
Location: /home/test/.local/lib/python2.7/site-packages
[test@localhost ~]$ exit
logout

# 退出 test 用戶,在 root 用戶環境中發現 requests 未安裝
[root@localhost ~]$ pip list | grep requests
[root@localhost ~]$

當你身處個人用戶環境中,python 導包時會先檢索當前用戶環境中是否已安裝這個包,已安裝則優先使用,未安裝則使用全局環境中的包。

驗證如下:

>>> import sys
>>> from pprint import pprint
>>> pprint(sys.path)
['',
 '/usr/lib64/python27.zip',
 '/usr/lib64/python2.7',
 '/usr/lib64/python2.7/plat-linux2',
 '/usr/lib64/python2.7/lib-tk',
 '/usr/lib64/python2.7/lib-old',
 '/usr/lib64/python2.7/lib-dynload',
 '/home/wangbm/.local/lib/python2.7/site-packages',
 '/usr/lib64/python2.7/site-packages',
 '/usr/lib64/python2.7/site-packages/gtk-2.0',
 '/usr/lib/python2.7/site-packages',
 '/usr/lib/python2.7/site-packages/pip-18.1-py2.7.egg',
 '/usr/lib/python2.7/site-packages/lockfile-0.12.2-py2.7.egg']
>>>

3.6 延長超時時間

若網絡情況不是很好,在安裝某些包時經常會因為 ReadTimeout 而失敗。

對于這種情況,一般重試幾次就好了。

但是這樣難免有些麻煩,有沒有更好的解決方法呢?

有的,可以通過延長超時時間。

$ pip install --default-timeout=100 

4. 卸載軟件包

就一條命令,不再贅述

$ pip uninstall pkg

5. 升級軟件包

想要對現有的 python 進行升級,其本質上也是先從 pypi 上下載最新版本的包,再對其進行安裝。所以升級也是使用 pip install,只不過要加一個參數 --upgrade

$ pip install --upgrade pkg

在升級的時候,其實還有一個不怎么用到的選項 --upgrade-strategy,它是用來指定升級策略。

它的可選項只有兩個:

eager :升級全部依賴包

only-if-need:只有當舊版本不能適配新的父依賴包時,才會升級。

在 pip 10.0 版本之后,這個選項的默認值是 only-if-need,因此如下兩種寫法是一互致的。

$ pip install --upgrade pkg1
$ pip install --upgrade pkg1 --upgrade-strategy only-if-need

6. 配置文件

由于在使用 pip 安裝一些包時,默認會使用 pip 的官方源,所以經常會報網絡超時失敗。

常用的解決辦法是,在安裝包時,使用 -i 參數指定一個國內的鏡像源。但是每次指定就很麻煩呀,還要打超長的一串字母。

這時候,其實可以將這個源寫進 pip 的配置文件里。以后安裝的時候,就默認從你配置的這個 源里安裝了。

那怎么配置呢?文件文件在哪?

使用win+r 輸入 %APPDATA% 進入用戶資料文件夾,查看有沒有一個 pip 的文件夾,若沒有則創建之。

然后進入這個 文件夾,新建一個 pip.ini 的文件,內容如下

[global]
time-out=60
index-url=https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host=tsinghua.edu.cn


審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 軟件
    +關注

    關注

    69

    文章

    5332

    瀏覽量

    91586
  • 配置
    +關注

    關注

    1

    文章

    194

    瀏覽量

    19469
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

    90039
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    TAIYO YUDEN高頻產品使用指南:從規格到實踐

    TAIYO YUDEN高頻產品使用指南:從規格到實踐 在電子設計領域,選擇合適的元器件是保障產品性能的關鍵。TAIYO YUDEN的高頻產品在市場上具有定的影響力,作為電子工程師,深入了解這些產品
    的頭像 發表于 01-27 15:00 ?176次閱讀

    TDK SmartSound One評估模塊使用指南

    TDK SmartSound One評估模塊使用指南 、引言 在音頻設備的研發與測試過程中,款便捷且功能強大的評估模塊能夠為工程師們節省大量時間和精力。TDK SmartSound One評估
    的頭像 發表于 12-26 11:20 ?477次閱讀

    TDK SmartMotion Platform Ver. G硬件使用指南:開啟高效傳感器開發之旅

    TDK SmartMotion Platform Ver. G硬件使用指南:開啟高效傳感器開發之旅 在當今的電子技術領域,傳感器的應用越來越廣泛,而如何高效地對傳感器進行開發和評估成為了工程師們面臨
    的頭像 發表于 12-26 10:30 ?394次閱讀

    深入了解 S32K312EVB-Q172 開發板:硬件特性與使用指南

    深入了解 S32K312EVB-Q172 開發板:硬件特性與使用指南 在嵌入式開發領域,款優秀的開發板能夠極大地提升開發效率和項目的成功率。NXP 的 S32K312EVB-Q172 開發板就是
    的頭像 發表于 12-25 09:30 ?272次閱讀

    松下FH系列鋁電解電容:特性、應用與使用指南

    松下FH系列鋁電解電容:特性、應用與使用指南 在電子電路設計中,電容是不可或缺的基礎元件,而鋁電解電容以其高電容值和相對較低的成本,在眾多應用中廣泛使用。今天,我們就來深入了解下松下的FH系列
    的頭像 發表于 12-22 10:00 ?624次閱讀

    雙向保護開關評估套件使用指南

    雙向保護開關評估套件使用指南 在鋰離子電池的應用中,電池管理系統(BMS)起著至關重要的作用,它能監測電池狀態并確保電池安全運行。其中,電子開關是BMS的重要組成部分,在關鍵條件下能將電池與充電器或
    的頭像 發表于 12-20 20:35 ?1084次閱讀

    雙向保護開關評估套件使用指南:從原理到實戰

    雙向保護開關評估套件使用指南:從原理到實戰 引言 在鋰離子電池應用中,電池管理系統(BMS)至關重要,它能實時監測電池狀態,保障電池安全運行。而BMS中的電子開關,就像是電池的“守護者”,在關鍵時刻
    的頭像 發表于 12-20 20:30 ?1104次閱讀

    雙向保護開關評估套件使用指南

    雙向保護開關評估套件使用指南 在鋰電池應用中,電池管理系統(BMS)至關重要,它能監測電池狀態并確保安全運行。BMS通常配備電子開關,在關鍵條件下將電池與充電器或負載斷開。今天要介紹的雙向開關評估
    的頭像 發表于 12-20 11:10 ?947次閱讀

    Infineon MOTIX?橋IC BTM90xxEP Arduino Shield評估板使用指南

    Infineon MOTIX?橋IC BTM90xxEP Arduino Shield評估板使用指南 、引言 在電機控制領域,款性能優良且易于評估的硬件工具至關重要。Infine
    的頭像 發表于 12-18 17:35 ?1181次閱讀

    大彩講堂:VisualHMI-LUA教程-on_screen_change回調函數使用指南

    on_screen_change回調函數使用指南
    的頭像 發表于 08-31 16:32 ?929次閱讀
    大彩講堂:VisualHMI-LUA教程-on_screen_change回調函數<b class='flag-5'>使用指南</b>

    大彩講堂:VisualHMI-LUA教程-on_update回調函數使用指南

    回調函數使用指南
    的頭像 發表于 08-31 16:25 ?874次閱讀
    大彩講堂:VisualHMI-LUA教程-on_update回調函數<b class='flag-5'>使用指南</b>

    求 CS32G020移動電源EVB用戶使用指南 中的清晰原理圖

    求 CS32G020移動電源EVB用戶使用指南 中的清晰原理圖,里邊的原理圖是打印后再掃描的各種網絡標注完全糊掉看不清,
    發表于 08-16 11:28

    Quartus工具使用指南

    電子發燒友網站提供《Quartus工具使用指南.pdf》資料免費下載
    發表于 07-15 16:34 ?1次下載

    瑞薩電子RA系列微控制器的可擴展性強的配置軟件包 (FSP)安裝下載與使用指南

    瑞薩電子RA系列微控制器的可擴展性強的配置軟件包 (FSP)安裝下載與使用指南
    的頭像 發表于 06-11 17:21 ?1871次閱讀

    GaN HEMT的SPICE模型使用指南及示例

    模型使用指南及示例.pdf 、模型概述 ? 目的 ?:作為開發輔助工具,確保首次設計成功,GaN Systems?提供了
    的頭像 發表于 03-11 17:43 ?2627次閱讀
    GaN HEMT的SPICE模型<b class='flag-5'>使用指南</b>及示例