有些公司,特别是一些大公司,对于网络安全这一块非常重视。上班用的电脑,系统都是公司标装系统,访问外网有很多限制,甚至只允许访问内网环境,不允许直接访问外网环境。这就导致我们使用pip在线安装python第三方模块就不太好使了。

上有政策下有对策,这里介绍一种内网环境pip离线安装python第三方模块的方法。

首先,我们需要在离线机上安装python,pip(目前python3基本都自带pip);如何安装这里就不多说了,可以查看我另外一篇自动化测试环境搭建的文章。

然后,我们需要一台可以访问外网的电脑。在可以访问外网的电脑上安装python,并pip安装好要用的第三方库(如何安装见我另外一篇自动化测试环境搭建的文章),这里不再多说。

我们查看一下安装的第三方库,运行cmd,输入pip list 回车—就显示当前python环境的所有模块了。如,下图:

python3.8安装第三方模块(无法访问外网环境的情况下)(1)

接下来我们将这些模块打包,进入如下步骤:

1. 找个地方新建py-site-packages文件夹,(我这里是在D盘,文件名可随便命名)。运行cmd打开命令窗口,进入到py-site-packages目录下,在该目录下执行如下命令:

pip freeze >requirements.txt

(注意:requirements可随便命名)

如图:

python3.8安装第三方模块(无法访问外网环境的情况下)(2)

这时候,我们打开D:\py-site-packages目录,该目录下就多了一个名字为requirements的txt文件。如图:

python3.8安装第三方模块(无法访问外网环境的情况下)(3)

2. 打开查看requirements.txt,可以看到当前python环境的所有依赖包已生成列表,并自动把安装包的列表名及版本输出到了文件中。

如图:

python3.8安装第三方模块(无法访问外网环境的情况下)(4)

这里可以修改哪些包需要安装,不需要安装的包可以手动删除。

3. 在命令窗口,py-site-packages目录下执行如下命令

pip download -r requirements.txt -d packages/ -i https://mirrors.aliyun.com/pypi/simple/

(该命令会在当前目录下新建一个packages的文件夹,并把包的相关信息下载下来)

命令执行完成后,可以看到py-site-packages目录下已经新建了一个packages文件夹,里面存放的是依赖库文件。如图:

python3.8安装第三方模块(无法访问外网环境的情况下)(5)

查看所有依赖库,如图:

python3.8安装第三方模块(无法访问外网环境的情况下)(6)

到这里,我们就将所要用到的python第三方库已经下载打包好了。

4. 将py-site-packages文件夹拷贝至需要安装这些包的离线机器上;

5. 在离线机的python安装目录下找到site-packages文件夹,命令窗口进入该目录,执行如下命令:

pip install --no-index --find-links=./packages -r ./requirements.txt

[其中:./packages(之前我们自己命名生成的文件夹)是指指定依赖包路径,./requirements.txt((之前我们自己命名生成的txt文件)是指定依赖包列表路径];

6. 最后,执行pip list,查看离线机上是否安装成功。

python3.8安装第三方模块(无法访问外网环境的情况下)(7)

如:上图,则安装成功啦!

,