pip安装离线包以及绕过SSL
近日要将在虚拟机已经运行正常的爬虫程序安装到目标服务器上,目标服务器是centos7,已经通过yum安装python36以及pip,但是当使用pip3安装相应的包时,会提示python没有SSL模块,无法下载。网上有给出重新编译的通过—with-ssl
这种方式,但是经过尝试,依然无法进行下载。通过多方资料的查找,可以通过以下的方式将源机器上的pip已经安装的包导出,在目标服务器上进行离线安装。
从源服务器导出安装包
1.把源服务器的安装包目录导出
1 | pip3 freeze > requirements.txt |
2.将包目录里面的下载到指定路径下
1 | pip3 download -r requirements.txt -d /your-path/piplibs/ |
3.导出包的格式一般为tar.gz或者whl,将安装包打包后上传到目标服务器
pip离线安装
此时直接通过pip3 install redis.whl依然会提示python没有SSL模块而失败。主要原因是其依然会去pypi的网站进行验证,该网站是https的,所以依然会失败。此时我们需要指定一个pip的源
1.在~/ 路径下创建.pip文件夹,然后创建pip.conf文件
1 | cd ~ |
2.编辑pip.conf在里面填写如下内容
1 | [global] |
3.保存后就可以继续进行安装了
1 | pip3 install redis.whl |
##