pip使用详解/pip换源
目錄
- 零、參考連接
- 一、安裝pip
- 二、pip命令的基本使用方法
- 1、指定庫的名字
- 2、從Requirements文件安裝
- 3、其他基本命令
- 三、控制庫的版本-Version specifiers
- 四、控制庫的平臺-Environment Markers
零、參考連接
https://pip.pypa.io/en/stable/user_guide
https://pip.pypa.io/en/stable/reference/pip_install/#usage
https://www.python.org/dev/peps/pep-0440/#version-specifiers
一、安裝pip
-
Ubuntu:
# python2 sudo apt-get install python-pip # python3 sudo apt-get install python3-pip -
Windows:
裝好Python之后把Python安裝目錄下的Scripts文件夾的路徑加入環境變量PATH就行。 -
測試是否安裝成功
# python2 pip -V # 或者 pip2 -V # python3 pip3 -V當pip命令無法運行時:
# python2 and python3 on windows, python2 on linux python -m pip -V # python3 on linux python3 -m pip -V -
同時存在Python2和Python3時,在linux系統中,可以通過pip(或者pip2)和pip3分別為Python2和Python3安裝庫;而在Windows中Python2和Python3都有pip.exe,所以就需要使用pip2和pip3來分別為Python2和Python3安裝庫。為了節約篇幅,后面只使用pip作為例子講解,需要為Python2安裝庫時,使用pip2命令;需要為Python3安裝庫時,使用pip3命令。
-
pip換源
換源的就是把下載庫的服務器切換為國內的鏡像服務器,下載速度會快很多很多。- 清華的源
Linux 打開終端,輸入:mkdir ~/.pip/ echo [global] > ~/.pip/pip.conf echo index-url=https://pypi.tuna.tsinghua.edu.cn/simple >> ~/.pip/pip.conf Windows 打開命令行,輸入:mkdir %USERPROFILE%\pip echo [global] > %USERPROFILE%\pip\pip.ini echo index-url=https://pypi.tuna.tsinghua.edu.cn/simple >> %USERPROFILE%\pip\pip.ini 上面的命令就是創建 ~/.pip/pip.conf或者%USERPROFILE%\pip\pip.ini,然后在文件中寫入:[global] index-url=https://pypi.tuna.tsinghua.edu.cn/simple %USERPROFILE%是用戶目錄; ~是Ubuntu下的用戶目錄。 - 阿里的源
Linux 打開終端,輸入:mkdir ~/.pip/ echo [global] > ~/.pip/pip.conf echo index-url=https://mirrors.aliyun.com/pypi/simple/ >> ~/.pip/pip.conf Windows 打開命令行,輸入:mkdir %USERPROFILE%\pip echo [global] > %USERPROFILE%\pip\pip.ini echo index-url=https://mirrors.aliyun.com/pypi/simple/ >> %USERPROFILE%\pip\pip.ini 上面的命令就是創建 ~/.pip/pip.conf或者%USERPROFILE%\pip\pip.ini,然后在文件中寫入:[global] index-url=https://mirrors.aliyun.com/pypi/simple/
- 清華的源
二、pip命令的基本使用方法
1、指定庫的名字
- 一次安裝一個包pip install SomePackage # 安裝最新版本 pip install SomePackage==1.0.4 # 安裝指定版本1.0.4 pip install 'SomePackage>=1.0.4' # 最低版本是1.0.4 pip install SomePackage.whl # 安裝whl文件 pip install http://wxpython.org/Phoenix/snapshot-builds/wxPython_Phoenix-3.0.3.dev1820+49a8884-cp34-none-win_amd64.whl # 從鏈接安裝 pip install --upgrade --no-deps SomePackage # 升級SomePackage且不升級依賴 pip install --user SomePackage # 把SomePackage安裝到用戶目錄中 在使用>=、<等符號時,需要在兩邊加上單引號,應為>和<在命令行中是重定位輸出和輸入符。>=、<等符號是版本限定的關系符。
- 也可以一次安裝多個包pip install Package Package2==1.0.4 'Package3>=1.0.4'
2、從Requirements文件安裝
pip install -r requirements.txtrequirements.txt的每一行是一個包。一個例子如下:
# 沒有版本限定符 nose beautifulsoup4# 有版本限定符 # 版本限定符參考: https://www.python.org/dev/peps/pep-0440/#version-specifiers docopt == 0.6.1 # 指定版本0.6.1 keyring >= 4.1.1 # 最低版本 4.1.1 coverage != 3.5 # 除了版本3.5的任意版本都可以 Mopidy-Dirble ~= 1.1 # 兼容版, 等同于:>= 1.1, == 1.*# 指定其他Requirements文件 -r other-requirements.txt# 一個特定文件 ./downloads/numpy-1.9.2-cp34-none-win32.whl http://wxpython.org/Phoenix/snapshot-builds/wxPython_Phoenix-3.0.3.dev1820+49a8884-cp34-none-win_amd64.whl更多關于Requirements的內容,請參考Requirements File Format。
3、其他基本命令
-
列出某個庫所有的可用版本
pip install numpy====符號后面沒有版本號,這樣pip就會報錯并列出所有可用版本。
-
pip freeze: 以Requirements文件的格式列出當前Python環境的所有庫
absl-py==0.6.1 asn1crypto==0.24.0 astor==0.7.1 backports-abc==0.5 ...如果當前項目是使用的一個虛擬環境,要導出所有的依賴項時,就可以使用命令:
pip freeze > requirements.txt在別處使用該項目時,就可以使用命令:
pip install -r requirements.txt來安裝本項目的所有依賴。
-
pip uninstall:卸載庫
pip uninstall SomePackage pip uninstall -y SomePackage # 不需要確認直接卸載 pip uninstall --yes SomePackage # 同上 pip uninstall -r requirements.txt # 卸載requirements.txt中的所有庫 -
pip list: 列出庫
pip list # 列出所有庫 pip list --outdated # 列出可以更新的庫 pip list -o # 同上 -
pip show:顯示已安裝庫的信息
pip show numpy # 顯示numpy的基本信息 pip show numpy -f # 列出所有文件 pip show numpy --file # 同上 -
pip search:搜索庫
pip search "query" -
pip download: 下載庫
# 把numpy下載以及numpy的依賴下載到DIR中 pip download --destination-directory DIR numpy # 把requirements.txt中的所有庫下載到DIR中 pip download --destination-directory DIR -r requirements.txt從本地下載好的文件安裝:
# 從DIR找到 requirements.txt中指定的庫并安裝 pip install --no-index --find-links=DIR -r requirements.txt
三、控制庫的版本-Version specifiers
Version specifiers, 我翻譯為版本限定。版本限定的關系符包含:
~=: 兼容版本==: 特定版本!=: 排除特定版本<=, >=: 小于等于\大于等于某個版本<, >: 小于\大于某個版本===: 精確匹配一些例子:
pip install numpy==1.15.4 # 安裝版本為1.15.4的numpy pip install numpy!=1.15.4 # 安裝版本不為1.15.4的numpy,如果有更新版本,則會安裝更新版本 pip install 'numpy<1.15.4' # 安裝小于版本小于1.15.4的numpy pip install 'numpy<=1.15.4' # 安裝小于版本小于等于1.15.4的numpy pip install numpy==1.15.* # 安裝版本為1.15開頭的numpy pip install numpy~=1.15.4 # 等同于>= 1.15.4, == 1.15.*在使用包含<或者>符號時,在命令行中需要使用單引號括起來,否則<和>會被命令行(終端)識別為重定向輸入/輸出符號。在Requirements文件中,不需要使用單引號括起來,這點和在終端中不同。
某些版本限定可以組合使用,中間使用英文逗號分割。例如:
在Requirements文件中,不需要單引號括起來,直接這樣寫就行:
numpy>=1.9.*,< 1.16.3參考鏈接:https://www.python.org/dev/peps/pep-0440/#compatible-release
四、控制庫的平臺-Environment Markers
Environment Markers翻譯為環境標記,實際就是除了滿足版本限定符指定的版本之外,還要滿足環境標記指定的條件,比如:
pip install 'numpy==1.15.4;python_version<="3.6"'就是除了numpy的版本要等于1.15.4之外,python_version的版本還要小于等于3.6。環境標記的關系符和版本限定的關系符相同。
環境標記的作用就是,假如開發一個兼容Python2和Python3的項目,但是依賴項在Python2和Python3的版本不同,就可以使用環境標記來完成。例如,某項目依賴于matplotlib,matplotlib 3.* 不支持Python2.*,只支持Python3.*,那么我們在寫Requirements文件的時候,就可以像這樣寫:
使用Python2時,就會安裝2.*版本的matplotlib;使用Python3時,就會安裝3.*版本的matplotlib。更多的環境標記如下表所示:
| os_name | os.name | posix, java |
| sys_platform | sys.platform | linux, linux2, darwin, java1.8.0_51 (note that “linux” is from Python3 and “linux2” from Python2) |
| platform_machine | platform.machine() | x86_64 |
| platform_python_implementation | platform.python_implementation() | CPython, Jython |
| platform_release | platform.release() | 3.14.1-x86_64-linode39, 14.5.0, 1.8.0_51 |
| platform_system | platform.system() | Linux, Windows, Java |
| platform_version | platform.version() | #1 SMP Fri Apr 25 13:07:35 EDT 2014 Java HotSpot? 64-Bit Server VM, 25.51-b03, Oracle Corporation Darwin Kernel Version 14.5.0: Wed Jul 29 02:18:53 PDT 2015; root:xnu-2782.40.9~2/RELEASE_X86_64 |
| python_version | platform.python_version()[:3] | 3.4, 2.7 |
| python_full_version | platform.python_version() | 3.4.0, 3.5.0b1 |
| implementation_name | sys.implementation.name | cpython |
| implementation_version | see definition below | 3.4.0, 3.5.0b1 |
| extra | An error except when defined by the context interpreting the specification. | test |
參考鏈接:https://www.python.org/dev/peps/pep-0508/#environment-markers
總結
以上是生活随笔為你收集整理的pip使用详解/pip换源的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 会畅通讯会议客户端分析
- 下一篇: NFT 推荐|Funguys 王国作品集