离线安装python第三方库的实用方法:解决公司内网,服务器/电脑不能上网却需要安装python三方库问题(上:Windows环境中)
问题描述:
公司的windows电脑是内网,今天需要安装一个Twisted库,用过的应该都晓得,很常见的异步库,但是仅仅依靠Pypi上下载下来的离线.whl安装包是不行的,linux服务器都是远程连接和操作的,对于使用python的同志们就非常不友好了,因为有众多的第三方库需要联网下载并安装的,如果有网就能够解决非常多的问题,少花费很多时间了,经过长时间的查阅资料和研究,刚刚解决了一个这类的问题,感觉这类的回答蛮少的,也不太具体,特此记录,希望能帮到有遇到同样情况的朋友们(一般是有各种上网限制策略的公司会碰到)。
另:适用于公司电脑网速下载三方库很慢,但是自己电脑网速很快(开热点,VPN,FanQ等各种手段),可以在自己电脑上下号离线包后,拷贝过去的情况
需要准备的工具/条件:
1. 公司电脑---用于接收离线安装包(无法联网/只能浏览器上网(如果去网上下离线包,你就会碰到令人绝望的依赖包问题),但是诸如pycharm,cmd等都无法联网的电脑,*笔者就是如此),但是可以通过U盘、其他三方工具(如FileZilla等传文件到数据库),传输数据到该电脑的条件***必备条件,如果任何数据都不能拷贝到这台电脑上,那要它有何用?反正总有一种方法能够传输。
2.自己的电脑/任何可以联网的电脑、服务器等设备,网速快,分分钟下好的那种
解决步骤:
1. 发现问题:
1)去Pypi上搜索Twisted,链接:https://pypi.org/,最新版本19.2.1的windos好像不能用,看样子是tar.gz格式的,应该只支持linux吧,这不重要,去release中找一下上个版本的离线包,download下来离线包Twisted-19.2.0-cp27-cp27m-win_amd64.whl,
2)离线安装包命令:pip install <包名>
* 笔者公司电脑有python2.7和3.7两个环境,默认的会用python3.7环境,故使用命令:
pip2 install Twisted-19.2.0-cp27-cp27m-win_amd64.whl
日常报错如下:
Collecting Automat>=0.3.0 (from Twisted==19.2.0) WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, stat us=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.c onnection.VerifiedHTTPSConnection object at 0x0000000003E4BC50>: Failed to estab lish a new connection: [Errno 10061] ',)': /simple/automat/
一看就是要先安装依赖包的样子,故继续去Pypi下Automat,结果又报错,需要PyHamcrest,子子孙孙无穷尽也。。。额,当时打算头铁一下,全部手动去Pypi上下下来的。。。。结果发现有一个包的最新版本是2016年更新的,官网上写着只支持py2.6。。。感受到了绝望,随机转向自己的电脑谋求解决方案
2.另谋出路:
1)自己电脑上就开心了嘛,有网络就是可以为所欲为~~~这个地方有个问题:我们只需要将Twisted的安装包以及依赖给下载下来,然后再copy到公司电脑上,如果在自己电脑上安装好Twisted以后,再使用网上大部分推荐的方式: pip freeze > requirements.txt 方式的话,会将自己电脑里所有的库全都打包,这是没有必要的(毕竟我自己电脑上的包有点多。。。几百M应该要吧)
2)故,有没有一个命令能够只将所需要的库机器依赖的库给下载下来,并放在我们指定的目录能?
答案当然是:有!!!如下:
pip download 你的包名 -d "你的文件夹路径(windows下貌似两边要加双引号来表示文件夹)"
* 笔者电脑依然是双python版本,且默认版本是python3,还让我给改了环境变量,故采取另外一种命令:
py -2 -m pip download Twist==19.2.0(此处为你的包名即指定的版本) -d "twist==19.2.0" (此处为你的文件夹位置,我是在当前路径下建立的,注意你的路径位置,如果不是你想要的路径,可能就下到命令行的当前路径去了,自己切换一下)
3)结果就是,当当当当:尼玛,10个依赖包,加上自己有11个。。。还好我没继续头铁。。。
4)接下来就好说了,压缩打包,名字随意起,如:twisted==19.2.0.zip,传输到公司电脑上,解压,进入该文件夹(本来我以为能够直接pip install 该压缩包,然而事实果然大脸)
5) 老老实实的输入所有包名吧,目前没发现有啥其他的好方法,好像pip install --no-index --find-links= 只能用于linux环境下吧,好在可以一口气将所有的包名都用tab补全了,即:
pip install 包名1 包名2 包名3 (全部都可以输入前两位字母补全)
3.展示效果:
pip list
*笔者是py -2 -m pip list
找一找,果然可以找到Twisted,安装完成,问题解决完毕!
PS:如果是linux的话,可以用pip list |grep Twisted,但是如果配置差,或者包太多,可能会比较慢喔,还是用眼睛看吧,比较快
博客园的浏览量貌似没CSDN高吧,附上csdn的链接:https://blog.csdn.net/u014179267/article/details/95364220
离线安装python第三方库的实用方法:解决公司内网,服务器/电脑不能上网却需要安装python三方库问题(上:Windows环境中)的更多相关文章
- 由导入paramkio包失败,而pip list又能查到此包,而引出的:离线安装python第三方库的实用方法:解决公司内网,服务器/电脑不能上网却需要安装python三方库问题(下:Linux环境中)
问题描述: 公司的Linux服务器是内网,今天要实现某个功能,会用到python控制ssh,需要安装一个Paramkio库,和上一篇一样,仅仅依靠Pypi上下载下来的离线.whl安装包是不行的,lin ...
- 内网服务器离线编译安装mysql5.7并调优
目录 内网服务器离线编译安装mysql5.7并调优 前言 关于MySQL 一.MySQL安装篇 部署环境 前期准备工具 挂载系统ISO镜像,配置yum源 二.MySQL调优篇 1.对MySQL进行安全 ...
- centos7下安装openvpn,访问内网服务器 (二) windows访问
一.简介 在上一章中已经安装好了openvpn,并且已经启动成功,现在就可以通过openvpn的客户端进行连接访问内网服务器了. 二.安装openvpn客户端 下载地址: https://www.te ...
- 实用方法 - 解决360Doc文章不能复制的问题(实现不登录直接复制)
问题: 有时搜索文章的时候看到一些有用的文字,或者在网上搜索一些文献资料,找到需要的部分后,通常都可以使用 Ctrl + C,或者右键复制下来.但有些网站,比如:360个人图书馆(360Doc)会强制 ...
- Windows环境中Openfire与Spark安装与配置指南
安装软件: openfire3.9.3 spark2.6.3 安装环境: WindowsXP JDK1.6.0_21 Oracle 一.openfire安装 1.安装openfire3.9.3,下载地 ...
- Neo4j 第一篇:在Windows环境中安装Neo4j
图形数据库(Graph Database)是NoSQL数据库家族中特殊的存在,用于存储丰富的关系数据,Neo4j 是目前最流行的图形数据库,支持完整的事务,在属性图中,图是由顶点(Vertex),边( ...
- 番外篇1:在Windows环境中安装JDK
他山之石,可以攻玉!欢迎关注我的微信公众号 本文作为构建第一个Java程序的番外篇一,跟大家探讨下在Windows下怎么安装JDK.由于本人没有Mac,因此如果是Mac的同学,请自行百度哦! 读前预览 ...
- 在Windows环境中安装Neo4j
图形数据库(Graph Database)是NoSQL数据库家族中特殊的存在,用于存储丰富的关系数据,Neo4j 是目前最流行的图形数据库,支持完整的事务,在属性图中,图是由顶点(Vertex),边( ...
- 运用Zabbix实现内网服务器状态及局域网状况监控(3) —— Zabbix服务端安装
1. Zabbix服务端安装,基于LNMP PHP5.5+Nginx1.9安装配置:http://www.cnblogs.com/vurtne-lu/p/7707536.html MySQL5.5编译 ...
随机推荐
- 利用Azure虚拟机安装Dynamics 365 Customer Engagement之八:安装报表扩展及最新更新
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- windows下同时安装多个python版本的方法
根据项目的需要,我的电脑上需要安装的python不止一个版本,比如同时需要python2.7和python3.6: 安装多个python版本 这时需要下载多个python安装包,为了区分不同的pyth ...
- 小程序登录解密用户数据encryptedData -41001: encodingAesKey 非法
问题: 做小程序微信授权登录,先获取code,然后去获取到session_key和open_id,再拿到encryptedData,传到服务器去解密拿到用户信息,但是有时成功,有时返回-41001错误 ...
- Under what conditions should the 'start_udev' command be run?
环境 Red Hat Enterprise Linux 问题 We run start_udev as part of the storage allocation procedure that we ...
- 安装 openmpi 4.0 用于 horovod 编译
最近编译 horovod框架过程中,需要使用openmpi 4.0但是环境中的openmpi版本比较低,所以在手动安装openmpi4.0 用于编译,下面对过程进行简要记录,进行备忘: curl -O ...
- STM32F373(青风)+CUBEMX快速上手
STM32F373(青风)+CUBEMX快速上手 Created: Nov 23, 2019 7:43 PM Tags: CUBEMX,STM32 硬件熟悉 连接线 USB-TYPEB电源线一根,用于 ...
- 001 C/C++ 选择排序法
简单选择排序: 选择排序法 是对 定位比较交换法(也就是冒泡排序法) 的一种改进. 选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录 ...
- go语言设计模式之proxy
代理模式,单元测试用例真的写得详细, 受教~ proxy.go package proxy import ( //"errors" "fmt" ) type U ...
- 在Ubuntu环境下配置Proxmark3(PM3)使用环境
参考资料:PM3官方Wiki 因为国内网络上大多是在Kali系统上使用PM3的教程(链接1.链接2.链接3),而这些教程的步骤对于Ubuntu系统并不完全适用.所以写下本文,记录我个人的安装经历. 本 ...
- angular6 multipart/form-data Post
一般情况下用的都是 第三种 然后碰到后台要求的是这种格式的数据 这时候我们就要修改一下我们的post 请求头,话不多说 直接上代码. 这样子的话 就ok啦!