Python的包管理工具pip安装

Python的包管理工具pip安装

pip是 Python 的包管理工具,用于安装和管理 Python 包。通常情况下,pip 会随着 Python 的安装而自动安装。

一、安装步骤

1.检查 pip是否已安装

你可以通过以下命令检查 ​pip​ 是否已经安装:

pip --version​

如果你看到版本信息,说明 ​pip​ 已经安装。如果没有,你可以通过以下方法安装 ​pip​

2.安装 pip

方法一:通过 ​ensurepip​ 模块安装(推荐)

Python 3.4 及以上版本自带 ​ensurepip​ 模块,可以通过以下命令安装 ​pip​:

python -m ensurepip --default-pip

根据输出信息,setuptools被安装在/usr/local/python3.9/lib/python3.9/site-packages目录下,版本为49.2.1;pip也被安装在/usr/local/python3.9/lib/python3.9/site-packages目录下,版本为20.2.3。

在Python中,site-packages目录是用于存放第三方Python包(如setuptools和pip)的标准位置。当使用python-mensurepip安装pip和相关依赖时,默认会将这些包安装到这个目录下。这样做的好处是方便管理和组织Python的第三方库,并且Python解释器在查找模块和包时也会自动搜索这个目录。

方法二:通过 ​get-pip.py​ 脚本安装(经常应为网络域名问题连接不上)

你可以从 Python 官方网站 下载 ​get-pip.py​ 脚本并运行它来安装 ​pip​:

1.下载 ​get-pip.py​ 脚本:

wget https://bootstrap.pypa.io/get-pip.py

2.运行 ​get-pip.py​ 脚本:

python get-pip.py

3.验证pip安装

pip --version

在Linux系统中,命令行执行命令时,系统会在PATH环境变量指定的一系列目录中查找可执行文件。如果pip所在的/usr/local/python3.9/lib/python3.9/site-packages目录(或者更确切地说,包含pip可执行文件的上级目录,通常是/usr/local/python3.9/bin,因为安装时可执行文件会被放置到这个目录下以便在命令行直接调用)没有被包含在PATH环境变量中,就无法直接执行pip命令。

4.创建别名

vim /etc/profile
alias pip='/usr/local/python3.9/bin/pip3'
source /etc/profile
pip --version

5.更新pip

为了确保你使用的是最新版本的 ​pip​,你可以通过以下命令更新 ​pip​:

pip install --upgrade pip

二、常用的pip命令

1.安装包

1). 基本安装

pip install <package_name>l
列如:pip install numpy
pip install <package_name>==<version_number>
例如:pip install requests==2.25.1

例如:

pip install numpy
pip install requests==2.25.1
  • pip install <package_name>:这是最基本的安装命令,用于安装指定名称的Python包。例如,要安装numpy包,可以在命令行中输入pip install numpy
  • 如果要指定版本安装,可以使用pip install <package_name>==<version_number>。例如,pip install requests==2.25.1将安装requests包的2.25.1版本。

2). 从本地文件安装

  • 如果有一个本地的.whl(wheel格式)文件或者.tar.gz(源代码压缩包格式)文件,可以使用以下命令安装。
  • 对于.whl文件:pip install <path_to_whl_file>。例如,如果numpy - 1.21.0 - cp39 - cp39 - win_amd64.whl文件在当前目录下,可以输入pip install numpy - 1.21.0 - cp39 - cp39 - win_amd64.whl
  • 对于.tar.gz文件:pip install <path_to_tar_gz_file>

2、卸载包

pip uninstall <package_name>

列如:

pip uninstall matplotlib
  • pip uninstall <package_name>:用于卸载指定的Python包。例如,要卸载matplotlib包,可以输入pip uninstall matplotlib。在执行卸载命令时,pip会提示确认是否要卸载。

3、查看已安装的包

1).列出所有已安装包

pip list
  • pip list:这个命令会列出当前环境中所有t通过pip安装的Python包及其版本号。例如:

2).查看特定包的详细信息

pip show <package_name>

列如:

pip show flask
  • pip show <package_name>:可以查看指定包的详细信息,包括名称、版本、作者、许可证、依赖项等。例如,pip show flask会显示flask包的相关信息:

4、升级包

pip install - - upgrade <package_name>

列如:

pip install - - upgrade pandas
  • pip install - - upgrade <package_name>:用于升级指定的Python包到最新版本。例如,pip install - - upgrade pandas会将pandas包升级到最新版本。

5、配置镜像

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

6、生成需求文件和从需求文件安装

1).生成需求文件

pip freeze > requirements.txt
  • pip freeze > requirements.txt:这个命令会将当前环境中所有已安装包及其版本号以特定格式输出到requirements.txt文件中。这个文件可以用于在其他环境中重现相同的包安装情况。

2).从需求文件安装

pip install - r requirements.txt
后台运行并输出日志
nohup pip install -r requirements.txt > mylog.log &  
Windows用
start "" /B pip install -r requirements.txt > mylog.log
  • pip install - r requirements.txt:根据requirements.txt文件中的包列表和版本要求安装所有的包。

三、python环境迁移安装依赖方法

如果在Python环境迁移时不知道需要安装哪些依赖,可以采用以下几种方法来处理:

一、使用pip freeze命令(适用于基于pip管理的包)

  1. 源环境操作

    • 在源Python环境(即将要迁移的环境)中,使用pip freeze命令。这个命令会列出当前环境中所有安装的Python包及其版本信息。

    • 例如,在命令行中执行:

      bash 复制代码
      pip freeze > requirements.txt
    • 这会将所有包的信息输出到一个名为requirements.txt的文件中。这个文件中的每一行代表一个包及其版本,格式通常为package_name==version_number,例如numpy==1.21.0

  2. 目标环境操作

    bash 复制代码
    pip install -r requirements.txt
    • 在目标Python环境中,使用pip install -r requirements.txt命令。这会根据requirements.txt文件中的内容安装所有列出的包及其对应的版本。
    • 如果目标环境和源环境的Python版本差异较大,可能会遇到一些兼容性问题。在这种情况下,可能需要逐个排查并调整包的版本。
  3. 逐步添加和测试

    然后开始运行项目的基本功能,根据运行时的错误提示来安装缺少的依赖。例如,如果运行项目时提示ModuleNotFoundError: No module named 'requests',那么就知道需要安装requests包。不断重复这个过程,直到项目能够正常运行。这种方法比较耗时,但对于没有其他可用信息的情况是一种可行的办法。

相关推荐
湫ccc12 分钟前
《Python基础》之字符串格式化输出
开发语言·python
mqiqe1 小时前
Python MySQL通过Binlog 获取变更记录 恢复数据
开发语言·python·mysql
AttackingLin1 小时前
2024强网杯--babyheap house of apple2解法
linux·开发语言·python
哭泣的眼泪4081 小时前
解析粗糙度仪在工业制造及材料科学和建筑工程领域的重要性
python·算法·django·virtualenv·pygame
Ysjt | 深1 小时前
C++多线程编程入门教程(优质版)
java·开发语言·jvm·c++
ephemerals__2 小时前
【c++丨STL】list模拟实现(附源码)
开发语言·c++·list
码农飞飞2 小时前
深入理解Rust的模式匹配
开发语言·后端·rust·模式匹配·解构·结构体和枚举
一个小坑货2 小时前
Rust 的简介
开发语言·后端·rust