问题描述:

  公司的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环境中)的更多相关文章

  1. 由导入paramkio包失败,而pip list又能查到此包,而引出的:离线安装python第三方库的实用方法:解决公司内网,服务器/电脑不能上网却需要安装python三方库问题(下:Linux环境中)

    问题描述: 公司的Linux服务器是内网,今天要实现某个功能,会用到python控制ssh,需要安装一个Paramkio库,和上一篇一样,仅仅依靠Pypi上下载下来的离线.whl安装包是不行的,lin ...

  2. 内网服务器离线编译安装mysql5.7并调优

    目录 内网服务器离线编译安装mysql5.7并调优 前言 关于MySQL 一.MySQL安装篇 部署环境 前期准备工具 挂载系统ISO镜像,配置yum源 二.MySQL调优篇 1.对MySQL进行安全 ...

  3. centos7下安装openvpn,访问内网服务器 (二) windows访问

    一.简介 在上一章中已经安装好了openvpn,并且已经启动成功,现在就可以通过openvpn的客户端进行连接访问内网服务器了. 二.安装openvpn客户端 下载地址: https://www.te ...

  4. 实用方法 - 解决360Doc文章不能复制的问题(实现不登录直接复制)

    问题: 有时搜索文章的时候看到一些有用的文字,或者在网上搜索一些文献资料,找到需要的部分后,通常都可以使用 Ctrl + C,或者右键复制下来.但有些网站,比如:360个人图书馆(360Doc)会强制 ...

  5. Windows环境中Openfire与Spark安装与配置指南

    安装软件: openfire3.9.3 spark2.6.3 安装环境: WindowsXP JDK1.6.0_21 Oracle 一.openfire安装 1.安装openfire3.9.3,下载地 ...

  6. Neo4j 第一篇:在Windows环境中安装Neo4j

    图形数据库(Graph Database)是NoSQL数据库家族中特殊的存在,用于存储丰富的关系数据,Neo4j 是目前最流行的图形数据库,支持完整的事务,在属性图中,图是由顶点(Vertex),边( ...

  7. 番外篇1:在Windows环境中安装JDK

    他山之石,可以攻玉!欢迎关注我的微信公众号 本文作为构建第一个Java程序的番外篇一,跟大家探讨下在Windows下怎么安装JDK.由于本人没有Mac,因此如果是Mac的同学,请自行百度哦! 读前预览 ...

  8. 在Windows环境中安装Neo4j

    图形数据库(Graph Database)是NoSQL数据库家族中特殊的存在,用于存储丰富的关系数据,Neo4j 是目前最流行的图形数据库,支持完整的事务,在属性图中,图是由顶点(Vertex),边( ...

  9. 运用Zabbix实现内网服务器状态及局域网状况监控(3) —— Zabbix服务端安装

    1. Zabbix服务端安装,基于LNMP PHP5.5+Nginx1.9安装配置:http://www.cnblogs.com/vurtne-lu/p/7707536.html MySQL5.5编译 ...

随机推荐

  1. gor实现线上HTTP流量复制压测引流

    一.使用背景 gor 是一款go语言实现的简单的http流量复制工具,它的主要目的是使你的生产环境HTTP真实流量在测试环境和预发布环境重现.只需要在 代理例如nginx入口服务器上执行一个进程,就可 ...

  2. OC-系统音效播放

      一.介绍 AudioToolbox.framework是一套基于C语言的框架,使用它来播放音效其本质是将短音频注册到系统声音服务(System Sound Service).System Soun ...

  3. MySQL数据库:基本操作及增删改查语句

    基本语法&&操作语句 create(创建) alter(更新) drop(删除) 一次性删除一个表中所有的数据 包括日志 truncate table 表名; 选中或者使用该数据库 说 ...

  4. cf rock is push 【dp】

    附上学习的博客:https://blog.csdn.net/u013534123/article/details/102762673 大致题意:一个迷宫,里面有很多箱子,你可以向右或者向下走.当你遇到 ...

  5. Redis思维导图

    Redis基本数据结构 1.String 1.1 数据结构 long len byte数组长度 long free 可用数组长度 char buff[] 数据内容 1.2 命令 键值:设置值通过字符串 ...

  6. 通过windows组策略配置时间同步

    Windows系统中带有NTP服务器和客户端的程序,只需在Windows中简单配置即可实现电脑之间的时间同步. 网上常见的配置NTP服务器的方法是修改系统注册表,这种方法是微软不推荐的.在实际使用中, ...

  7. win10系统使用Telnet命令时提示“telnet不是内部或外部命令”

    in10系统使用Telnet命令时提示“telnet不是内部或外部命令”问题的处理方案 win10系统使用的过程中很多用户会遇到使用Telnet命令时提示“telnet不是内部或外部命令”的问题,这样 ...

  8. Codeforces Round #597 (Div. 2) F. Daniel and Spring Cleaning 数位dp

    F. Daniel and Spring Cleaning While doing some spring cleaning, Daniel found an old calculator that ...

  9. eclipse3.7以后编译代码提示ambiguous 的解决方法

    Eclispe3.7以后在使用可变函数时可能会遇到这种编译错误的问题 The method is ambiguous 正确的解决方法是:  在eclipse.ini -vmargs后面添加  -Dto ...

  10. C#开发BIMFACE系列28 服务端API之获取模型数据13:获取三维视点或二维视图列表

    系列目录     [已更新最新开发文章,点击查看详细] 本篇主要介绍如何获取一个模型中包含的三维视点或二维视图列表. 请求地址:GET https://api.bimface.com/data/v2/ ...