断网的环境下配置python开发环境非常讨厌,本文旨在优雅暴力的解决这一问题。
生产环境 : windows 7 windows10 python 3.5.2 pip 1.5.2
友情提示:出现问题时候,看日志是王道!计算机不会犯错!
机器上python2,3混用的问题,参考: http://blog.csdn.net/wangyaninglm/article/details/53312606 第二小节:不同版本python混用(官方用法)其实主要就是前面加上py -3(或)2
Windows离线断网环境下安装Python包,配置环境,准备用来生成word模版,需要用到一些win32com的python库,但是又没有网还想用pip方式傻瓜安装,怎么办呢,百度google探索了半天。姑且记录一下 linux下此方法应该同样可行。
当然还有暴力的方法是,pip show 包名,然后python的版本一样的话直接copy目录(红线部分),import应该也是好使的。下面以numpy包为例。
1.下载最新pip,更新pip版本
新建packages文件夹放在目录中:c:\python35\packages
py -3 –m pip install --upgrade pip
2.在可以联网的开发机器上安装好需要的包 例如:
py -3 –m pip install numpy py -3 –m pip install pandas
3.打包已安装的包
在c:\python35目录下新建packages文件夹用来存储下载下来的所需安装包。 在 c:\python35\Scripts下启动cmd窗口。
pip list #查看安装的包
pip freeze >requirements.txt
py -3 –m pip install --download c:\python35\packages -r requirements.txt
上述命令需要在一个联网机器上运行,不然会报错,不联网的机器似乎没法打包已经安装好的whl包,如果有方法求高手告知,报错如下(白色字体是联网后运行正常的):
requirements.txt是这个样子:大概记载了每个包的版本号
cycler==0.10.0 jieba==0.38 matplotlib==1.5.3 nltk==3.2.1 numpy==1.11.2 pyparsing==2.1.10 python-dateutil==2.6.0 pytz==2016.10 scikit-learn==0.18.1 six==1.10.0
4.离线情况安装其他机器打包好的包whl
将packages文件夹和requirement.txt拷贝至离线机器上目录下, packages文件夹放在c:\Python35下,requirement.txt放在c:\Python35\Scripts下。 requirements.txt文件放在pip.exe目录下。
py -3 –m pip install --no-index --find-index=c:\python35\packages -r requirements.txt
上述命令中的–find-index 这个命令在python27中似乎是对的,python35中需要换成–find-links
正确的命令:
py -3 -m pip install --no-index --find-links=c:\python35\packages -r requirements.txt
这种whl包下载好后,放在上述位置,再修改下面文件
添加一行:
包名=版本号
来一个命令就行了!装过的pip就不装了,没装的pip会自动安装
py -3 -m pip install –no-index –find-links=c:\python35\packages -r requirements.txt
https://segmentfault.com/a/1190000006027207
pip常用命令: http://me.iblogc.com/2015/01/01/pip%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/
pip documentation: https://pip.pypa.io/en/latest/