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包。不断重复这个过程,直到项目能够正常运行。这种方法比较耗时,但对于没有其他可用信息的情况是一种可行的办法。

相关推荐
WeiXiao_Hyy几秒前
成为 Top 1% 的工程师
java·开发语言·javascript·经验分享·后端
ZH1545589131几秒前
Flutter for OpenHarmony Python学习助手实战:面向对象编程实战的实现
python·学习·flutter
玄同7651 分钟前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
User_芊芊君子6 分钟前
CANN010:PyASC Python编程接口—简化AI算子开发的Python框架
开发语言·人工智能·python
Max_uuc17 分钟前
【C++ 硬核】打破嵌入式 STL 禁忌:利用 std::pmr 在“栈”上运行 std::vector
开发语言·jvm·c++
白日做梦Q17 分钟前
Anchor-free检测器全解析:CenterNet vs FCOS
python·深度学习·神经网络·目标检测·机器学习
故事不长丨17 分钟前
C#线程同步:lock、Monitor、Mutex原理+用法+实战全解析
开发语言·算法·c#
牵牛老人20 分钟前
【Qt 开发后台服务避坑指南:从库存管理系统开发出现的问题来看后台开发常见问题与解决方案】
开发语言·qt·系统架构
froginwe1128 分钟前
Python3与MySQL的连接:使用mysql-connector
开发语言
喵手31 分钟前
Python爬虫实战:公共自行车站点智能采集系统 - 从零构建生产级爬虫的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集公共自行车站点·公共自行车站点智能采集系统·采集公共自行车站点导出csv