问题描述:

  公司的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. JS基础语法---作用域

    作用域:使用范围 全局变量: 声明的变量是使用var声明的, 那么这个变量就是全局变量 全局变量可以在页面的任何位置使用 除了函数以外, 其他的任何位置定义的变量都是全局变量 局部变量:在函数内部定义 ...

  2. 利用Azure虚拟机安装Dynamics 365 Customer Engagement之十:为SQL Server配置Always On

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  3. 微信小程序支付功能 C# .NET开发

    微信小程序支付功能的开发的时候坑比较多,不过对于钱的事谨慎也是好事.网上关于小程序支付的实例很多,但是大多多少有些问题,C#开发的更少.此篇文档的目的是讲开发过程中遇到的问题做一个备注,也方便其他开发 ...

  4. LiveData使用

    ### Andorid LiveData 使用 [[_TOC_]] #### Lifycycle 使用1.继承FragmentActivity 实现LifecycleOwner接口2.声明一个Life ...

  5. bay——Oracle RAC环境下ASM磁盘组扩容.docx

    https://www.cnblogs.com/polestar/p/10115263.html Oracle RAC环境下ASM磁盘组扩容 生产环境注意调整以下参数: +++++++++++++++ ...

  6. Druid-代码段-1-3

    所属文章:池化技术(一)Druid是如何管理数据库连接的? 本代码段对应流程1.2,真正获取连接的执行: private DruidPooledConnection getConnectionInte ...

  7. 【西北师大-2108Java】第五次作业成绩汇总

    [西北师大-2108Java]第五次作业成绩汇总 作业题目 面向对象程序设计(JAVA) 第7周学习指导及要求 实验目的与要求 (1)掌握四种访问权限修饰符的使用特点: (2)掌握Object类的用途 ...

  8. 微信公众号开发 ,redirect_uri域名还是与后台配置不一致

    测试账号地址: https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index https ...

  9. 终结 finalize() 和对象引用

    一.finalize() 方法 1. 为什么要有 finalize() 方法? 假定你的对象(并非使用new)获得了一块“特殊”的内存区域,由于垃圾回收器只知道释放那些经由 new 分配的内存,所以他 ...

  10. NRF51822/NRF51802/NRF52832/NRF52810/NRF52811/NRF52840内核对比

    NRF51822的内核为M0,FLASH是256K,RAM是16K,蓝牙BLE4.0/4.2(SDK新版本支持4.2)NRF51802的内核为M0,FLASH是256K,RAM是16K,蓝牙BLE4. ...