离线安装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编译 ...
随机推荐
- FCC---Create Texture by Adding a Subtle Pattern as a Background Image
One way to add texture and interest to a background and have it stand out more is to add a subtle pa ...
- SQL Server关于AlwaysOn的理解
(一)SQL Server-AlwaysOn 技术:SQL Server AlwaysOn 即“全面的高可用性和灾难恢复解决方案” 1.数据库级可用性-只读副本:SQL Server 2012-4个, ...
- 003 C/C++ 数据类型_数组
#include "stdio.h" #include "stdlib.h" //数据类型的本质: 固定大小内存块的别名. void main() { int ...
- Shadow Map -- 点阴影(全方位)
昨晚终于把点阴影(深度CubeMap)程序调通了,思想不难,基本就是在上节定向光阴影基础上稍作修改,但是CG程序不太方便Debug,需要输出中间效果图进行判断,耽搁了一会儿. 过程如下: 1.将深度渲 ...
- python将图片旋转,颠倒,修改尺寸
直接上代码,根据需求注释选择相应修改 from PIL import Image import os import os.path rootdir = r'G:\jianfeng\project\ru ...
- number.toFixed和Math.round与保留小数
如果你baidu/google过或者自己写过保留两位小数,那下面这代码一定不陌生 Math.round(number*100)/100 那你使用过Number.prototype.toFixed这个方 ...
- win7+vim搭建+verilog HDL IDE
参考地址:http://www.huangdc.com/421 参考文章为2016年,部分更新贴于文章内了 安装下载vim vim在win下叫gvim,下载地址:https://www.vim.org ...
- golang数据结构之稀疏数组
掌握知识: 数组的初始化和赋值 结构体的初始化和赋值 字符串和整型之间的转换以及其它的一些操作 类型断言 读取文件 写入文件 对稀疏数组进行压缩 package main import ( " ...
- js input radio点击事件
html代码: <input type="radio" name="myname" value="1" />1 <inpu ...
- C语言程序设计100例之(2):一元二次方程
例2 一元二次方程 [题目描述] 输入系数a.b和c,求方程ax2+bx+c=0的根. [输入格式] 输入数据有多组.每组数据包括三个系数a,b,c.当a=0时,输入数据结束. [输出格式] 输出 ...