[Python] pip 命令和参数整理

什么是 Pip?

Pip是现代的、通用的Python包管理工具。提供了对Python 包的查找、下载、安装、卸载的功能。

命令

  • install

    安装包

    • 无参数, 直接从pypi中查找下载
      >> pip install Django # 安装最新稳定的版本,可能会将某些依赖的版本更新为符合的版本。所以要可能的话,项目中版本号全部都限制好。
      >> pip install Django==3.0 # 安装3.0版本
      >> pip install Django>=3.0 # 安装3.0及以上的版本
      >> pip install Django~=3.0 # 安装3.0小版本匹配即安装3.0.x中最新稳定的版本
      
    • -e 安装可编辑的包。不同项目,但是一个项目依赖时使用。
      >> pip install -e 本地目录
      >> pip install -e git+https://github.com/django/django.git#egg=django
      >> pip install -e git+ssh://git@github.com:django/django.git#egg=django
      
    • -r 不解释,懂得都懂。通过requirements文件可控地安装很多依赖。
      >> pip install -r requirements.txt
      
    • -t 安装到指定位置
      >> pip install -t 位置目录
      
  • download

    下载包 把指定的包的二进制文件下载到指定位置

    >> pip download django -d ${DEST}
    
  • uninstall

    删除包

    >> pip uninstall Django
    
  • freeze
      -r, --requirement <file>    Use the order in the given requirements file and its comments when generating output. This option can be used multiple times.
      -f, --find-links <url>      URL for finding packages, which will be added to the output.
      -l, --local                 If in a virtualenv that has global access, do not output globally-installed packages.
      --user                      Only output packages installed in user-site.
      --path <path>               Restrict to the specified installation path for listing packages (can be used multiple times).
      --all                       Do not skip these packages in the output: setuptools, pip, distribute, wheel
      --exclude-editable          Exclude editable package from output.
    
    >> pip freeze
    
    asgiref==3.2.10
    Django==3.0.8
    pytz==2020.1
    sqlparse==0.3.1
    
  • list
    Usage:   
      pip3 list [options]
    
    Description:
      List installed packages, including editables.
      
      Packages are listed in a case-insensitive sorted order.
    
    List Options:
      -o, --outdated              List outdated packages  # 列出过期
      -u, --uptodate              List uptodate packages	# 列出最新
      -e, --editable              List editable projects.  # 列出可编辑
      -l, --local                 If in a virtualenv that has global access, do not list globally-installed packages.  # 列出安装在虚拟环境中的
      --user                      Only output packages installed in user-site. # 安装在用户目录下的
      --path <path>               Restrict to the specified installation path for listing packages (can be used multiple times).
      --pre                       Include pre-release and development versions. By default, pip only finds stable versions.
      --format <list_format>      Select the output format among: columns (default), freeze, or json
      --not-required              List packages that are not dependencies of installed packages.
      --exclude-editable          Exclude editable package from output.
      --include-editable          Include editable package from output.
    
  • show

    展示指定的已安装的包

    >> pip show Django
    
    Name: Django
    Version: 3.0.8
    Summary: A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
    Home-page: https://www.djangoproject.com/
    Author: Django Software Foundation
    Author-email: foundation@djangoproject.com
    License: BSD
    Location: /home/ling/env/lib/python3.8/site-packages
    Requires: sqlparse, asgiref, pytz
    Required-by:
    
  • check

    检查某个包的依赖是否合适

    >> pip check Django
    
    launchpadlib 1.10.13 requires testresources, which is not installed.
    flask-security-too 3.4.2 requires email-validator, which is not installed.
    awscli 1.18.66 has requirement botocore==1.16.16, but you have botocore 1.16.6.
    
  • config

    用来配置本地和全局的配置

    >> pip config list --[user|global] # 列出用户|全局的设置
    
    >> pip config get global.index-url # 得到这key对应的value
    >> https://mirrors.aliyun.com/pypi/simple/
    
    >> pip config set key value
    >> pip config unset key
    
  • search

    在pypi里搜索相关包

    >> pip search flask
    
    Flask-SimpleMDE (0.3.0)     - Flask-SimpleMDE - a Flask extension for SimpleMDE
    Flask-Pure (0.5)            - Flask-Pure - a Flask extension for Pure.css
    Flask-OrientDB (0.1)        - A Flask extension for using OrientDB with Flask
    Flask-ElasticUtils (0.1.7)  - ElasticUtils for Flask
    Flask-Waitress (0.0.1)      - Flask Waitress
    sockjs-flask (0.3)          - SockJs for Flask
    Flask-Stripe (0.1.0)        - Flask-Stripe
    Flask-PubSub (0.1.0)        - Flask-PubSub
    ...
    
  • cache

    管理pip的本地缓存

    • dir 缓存目录
      >> pip cache dir
      /home/stephen-ling/,cache/pip
      
    • info 缓存的一些信息
      >> pip cache info
      Location: /home/stephen-ling/.cache/pip/wheels
      Size: 0 bytes
      Number of wheels: 0
      
    • list 列出当前缓存的包
    • purge 清除缓存
    • remove 删除对应的缓存
  • wheel

    打包成二进制文件

    >> pip wheel Django
    
  • hash

    计算一个包的hash值

  • completion
  • debug

    提供一些debug有用的信息, 不知道可以怎么用。

  • help

    查询帮助

    >> pip help
    
<think>好的,用户想知道如何使用Pythonpip工具安装包。我之前整理过几个相关的引用,现在需要结合这些信息来回答。首先,用户可能对pip的基本用法不熟悉,所以需要从安装命令开始。引用3提到pipPython自带的包管理工具,可以用来安装、升级管理包,所以应该先确认用户是否已经安装了pip。 然后,引用1引用4提到了安装包的具体命令,比如pip install [包名],还有Python2Python3的路径问题。用户可能需要知道不同Python版本下如何使用pip,比如用pip3代替pip,这点应该要说明清楚。 接着,用户可能会遇到问题,比如包名错误或者权限问题。引用5提到了Python.h缺失的问题,这可能是因为缺少Python开发文件,需要安装python-dev或python3-dev包。此外,引用2提到了升级pipwheel,这有助于避免安装过程中的常见错误,所以应该建议用户先升级pip。 还有,用户可能不知道如何查看已安装的包或者搜索可用的包,这时候可以用pip listpip search,不过注意到现在pip search可能被禁用了,可能需要推荐使用PyPI网站搜索。引用3也提到了pip的检索功能,所以可以提及这一点。 最后,用户可能需要处理安装失败的情况,比如网络问题或者版本不兼容。这时候可以建议使用镜像源,或者检查Python版本是否匹配。引用5中的内容可以在这里应用,提醒用户注意版本匹配。 总结下来,回答的结构应该是先介绍pip的基本用法,安装命令,然后处理常见问题,比如升级pip,使用镜像源,权限问题,版本匹配等。同时,结合引用中的信息,确保回答准确可靠。需要分步骤说明,让用户能一步步操作,避免遗漏关键点。另外,要使用中文,行内公式用$...$,独立公式用$$...$$,但在这个问题中可能用不上数学公式,不过要留意是否有需要的地方。最后生成相关问题,可能涉及升级pip、解决安装错误、使用虚拟环境等,这样用户可以有进一步了解的途径。</think>### 如何使用 Pythonpip 安装包? #### 1. **基本安装命令** 使用以下命令安装指定包(以安装 `requests` 包为例): ```bash pip install requests ``` 如果是 Python 3 环境且存在多版本冲突,可能需要使用 `pip3`: ```bash pip3 install requests ``` 安装完成后,可通过 `pip list` 查看已安装的包[^1]。 #### 2. **升级 pip 工具** 安装前建议先升级 pip wheel 工具,避免兼容性问题: ```bash pip install --upgrade pip pip install --upgrade wheel ``` 这能确保包管理工具处于最新状态[^2]。 #### 3. **指定版本安装** 若需安装特定版本的包,使用 `==` 指定版本号: ```bash pip install numpy==1.21.0 ``` #### 4. **从文件安装** 通过 `requirements.txt` 批量安装依赖: ```bash pip install -r requirements.txt ``` #### 5. **使用镜像源加速** 国内用户可通过镜像源(如清华源、阿里云)加速下载: ```bash pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple ``` #### 6. **处理权限问题** 在 Linux/macOS 中若提示权限不足,可添加 `--user` 参数安装到用户目录: ```bash pip install --user requests ``` #### 7. **解决依赖缺失问题** 安装某些包(如需要 C 扩展的库)时,可能需预先安装系统依赖。例如,若报错提示缺少 `Python.h`,需安装 Python 开发文件: - **Ubuntu/Debian**: ```bash sudo apt-get install python3-dev # Python 3 环境 ``` - **CentOS**: ```bash sudo yum install python3-devel ``` 确保 Python 开发文件版本与当前环境一致[^5]。 --- ### 常见问题示例 - **报错:`No module named 'requests'`** 说明包未安装成功,重新执行 `pip install requests` 并检查网络或镜像源[^1]。 - **报错:`Could not find a version that satisfies the requirement`** 包名拼写错误或版本不存在,通过 [PyPI 官网](https://pypi.org/) 确认包名版本[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值