Python的包管理工具pip安装
- 一、安装步骤
- 1.检查 pip是否已安装
- 2.安装 pip
- 方法一:通过 ensurepip 模块安装(推荐)
- 方法二:通过 get-pip.py 脚本安装(经常应为网络域名问题连接不上)
- 3.验证pip安装
- 4.创建别名
- 5.更新pip
- 二、常用的pip命令
- 1.安装包
- 1). 基本安装
- 2). 从本地文件安装
- 2、卸载包
- 3、查看已安装的包
- 1).列出所有已安装包
- 2).查看特定包的详细信息
- 4、升级包
- 5、配置镜像
- 6、生成需求文件和从需求文件安装
- 1).生成需求文件
- 2).从需求文件安装
- 三、python环境迁移安装依赖方法
- 一、使用`pip freeze`命令(适用于基于`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
管理的包)
-
源环境操作
- 在源Python环境(即将要迁移的环境)中,使用
pip freeze
命令。这个命令会列出当前环境中所有安装的Python包及其版本信息。 - 例如,在命令行中执行:
pip freeze > requirements.txt
- 这会将所有包的信息输出到一个名为
requirements.txt
的文件中。这个文件中的每一行代表一个包及其版本,格式通常为package_name==version_number
,例如numpy==1.21.0
。
- 在源Python环境(即将要迁移的环境)中,使用
-
目标环境操作
pip install -r requirements.txt
- 在目标Python环境中,使用
pip install -r requirements.txt
命令。这会根据requirements.txt
文件中的内容安装所有列出的包及其对应的版本。 - 如果目标环境和源环境的Python版本差异较大,可能会遇到一些兼容性问题。在这种情况下,可能需要逐个排查并调整包的版本。
- 在目标Python环境中,使用
-
逐步添加和测试
然后开始运行项目的基本功能,根据运行时的错误提示来安装缺少的依赖。例如,如果运行项目时提示ModuleNotFoundError: No module named ‘requests’,那么就知道需要安装requests包。不断重复这个过程,直到项目能够正常运行。这种方法比较耗时,但对于没有其他可用信息的情况是一种可行的办法。