python pip3 freeze_Python系列之包管理工具【pip3】

1 pip3工具介绍

pip3是python3用来管理包的工具,可以用来安装、升级、卸载第三方库,当然也可以查看包信息,更加可以发布自己所写的包到Pypi(一般会借助另一个工具twine)。

2 pip3在线安装python3的包

我们最熟悉的安装包命令是:

sudo pip3 install some-package-name

但有几个问题,需要我们弄清楚:

(1)这是在线安装,那么是从哪个网站找到的安装源呢?怎么更改安装源呢?

默认的安装源是

https://pypi.python.org/simple/

可以通过以下命令更改安装源

sudo pip3 install --index-url https://pypi.douban.com/simple/ some-package-name

(2)具体的包是被安装到哪个目录呢?怎么手动指定安装目录?

默认的安装目录(取决于具体操作系统版本),一般是

/usr/local/lib/python3.8/dist-packages 【加了sudo】

或者

/home/some-user/.local/lib/python3.8/dist-packages 【没加 sudo】

可以通过以下命令更改安装的目录

sudo pip3 install --prefix /path/to/dir some-package-name

或者

sudo pip3 install --install-dir /path/to/dir some-package-name

(3)安装的包的版本是多少呢?怎么手动指定安装的版本?

默认是安装最新版本,可以通过以下命令指定版本

sudo pip3 install "some-package-name == 1.0.1"

sudo pip3 install "some-package-name >= 1.0.1"

sudo pip3 install "some-package-name <= 1.0.1"

(4)除了安装具体的包到指定的目录,额外做了哪些事情呢?

如果要安装的包支持通过脚本启动的话,会把脚本安装到以下目录,具体取决于操作系统版本,一般是

/usr/local/bin/【加了 sudo】

或者

/home/some-user/.local/bin 【没加 sudo】

3 pip3本地安装python3的包

如果我们的项目没有发布上传到Pypi或者其他网站,只是位于本地,那么该如何从本地安装到我们的系统中呢?

这里需要分作几种情况,一是带有setup.py文件的源码库,另外就是.whl格式的压缩文件,再有就是.egg格式的压缩文件。

其中pip3可以用来安装前面两种情况的库,第三种情况的库一般用easy_install工具。安装.whle格式压缩文件比较简单,命令如下:

sudo pip3 install some-package.whl

而源码安装的话,可以向其他方式一样,安装到生产环境,不过呢,也可以安装到开发环境。

安装到生产环境命令是:

sudo pip3 install .

安装到开发环境命令是:

sudo pip3 install -e .

这里以安装公司的TNG框架为例,说明源码安装的细节。

(1)从code server上下载源码到本地,然后切到源码的根目录

(2)安装到开发环境

安装命令如下

wenca@WENCA-Y3PK5:~/tngpi$ sudo pip3 install -e .

安装完后,TNG启动脚本信息

TNG安装目录信息如下,可以发现开发模式下的安装,并没有复制源码库【tng/】到安装目录里面,只是在安装目录下建立一个【TNG.egg-link】文件,该文件内容【/home/wenca/tngpi】指向了源码库安装前的路径。同时呢,会在源码库安装前的路径下,新建文件夹【ENG.egg-info/】,内如如图。

TNG版本信息如下,可以发现版本信息中显示了源码库的位置【/home/wenca/tngpi】为源码库安装前的路径。

(3)安装到生产环境

安装命令如下

wenca@WENCA-Y3PK5:~/tngpi$ sudo pip3 install .

TNG启动脚本信息

TNG安装目录信息,可以发现生产模式下的安装,会复制源码库【tng/】到安装目录,同时也会建立新的文件夹【xxxxx.dist-info】,其中内容如图,与开发模式安装时新建的【TNG.egg-info】内容相同。

TNG版本信息如下,其中显示了源码库的位置,为安装目录。

4 pip3 其他操作

查看安装的包

# 查看所有包的预览信息

pip3 list

# 查看不被依赖的包

pip3 list --not-required

# 查看过期的包

pip3 list --outdated

# 查看可升级的包

pip3 list --upgradable

# 查看单个包的详细信息

pip3 show some-package

检索网站上存在的包

# 从默认位置检索

pip3 search some-package

# 更改检索位置

pip3 search --index-url https://pypi.douban.com/simple/ some-package

包的依赖处理

# 列举依赖包

pip3 freeze

# 生成依赖包的需求文件

pip3 freeze > requirements.txt

# 安装需求文件里的依赖包

pip3 install -r requirements.txt

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值