Python 板


LINE

很多人都会用虚拟环境(virtualenv 或内建的 venv) 来管理不同的专案中套件相依,但有些套件其实经常被使用的, 例如科学计算几乎都要 numpy。它带有 fortran、C 代码, 还连结很多外部函数库 MKL、LAPACK、ALTAS、BLAS、ARPACK, 有时装好了也不确定是不是有正确连结到,十分费神。 或者像 ipython[all] 这样的套件,装起来可能也需要几分钟的时间。 底下算是几个加速的方式:pip cache 以及 wheel 分享给大家。 TL;DR 设定环境变数 export PIP_USE_WHEEL=true export PIP_WHEEL_DIR="$HOME/.pip/wheel" export PIP_DOWNLOAD_CACHE="$HOME/.pip/cache" export PIP_FIND_LINKS="file://$PIP_WHEEL_DIR" 用 pip wheel <pkg_name> 做自己的 wheel 装套件就会先看 wheel_dir 有没有做好的 .whl 再看 cache 有没有曾经下载过 达到加速安装(但还是需要网路连线) Cache ----- 设定 export PIP_DOWNLOAD_CACHE="$HOME/.pip/cache" 把 PyPI 上找到的套件,下载在 cache 资料夹里。 有新版本也会自动下载新的存着。 如果套件 release 就是用 wheel 格式的话也会存在 cache。 要注意 cache 档名包含网址,有做 PyPI mirror 的话会存成不同档案 Wheel ----- 算是目前推广中的格式,不少套件都有采用了。 它是 binary release,所以少了安装的过程会快很多, 针对 Python 版本、OSX/Win/Linux 32/64 制作专门的 .whl Linux wheel 因目前规格不处理 distro 而很少能直接下载用, 像 CentOS/Debian 外部函式库的位置都不一样,因此 并不会在公开像 PyPI 上找到。 新版 pip 都会预设优先使用 wheel,没有的话可以加上 export PIP_USE_WHEEL=true 细节请参考 TP 大大的投影片: - We Buy Cheese in a Cheese Shop https://speakerdeck.com/uranusjr/we-buy-cheese-in-a-cheese-shop 自己的 wheel 自己做! """"""""""""""""""""" 如果今天开发环境是相似的(同台电脑、同样设定的 VM) 就算套件没有给 wheel 照样可以自己做 设定下两行之後可以少打很多参数, export PIP_WHEEL_DIR="$HOME/.pip/wheel" export PIP_FIND_LINKS="file://$PIP_WHEEL_DIR" PIP_WHEEL_DIR 给定做好的 wheel 要存哪 PIP_FIND_LINKS 则是 pip install 会来这目录看有无现成的 首先要装 wheel 这个套件 pip install wheel 接着安装好自己想要包 wheel 的套件,以 <pkg_name> 为例, 安装好 <pkg_name> 之後 pip wheel <pkg_name> 就会做出 <pkg_name>-<ver>-xxx.whl 在 wheel_dir 中。 制作过程会把 source 下载下来,但这不是重新编译的意思。 制作完成之後,未来便可选择用这个 .whl 安装 <pkg_name> pip install <pkg_name>-<ver>-xxx.whl 在官网说明中,会看到这行 pip install --no-index --find-links=/local/wheels xxx.whl --no-index 表示不给它看 PyPI 有没有新版,并强迫在 find_links 的目录里找 有设在环境变数中的话就不用多下 --find-links 了 没有 --no-index 时,检查 PyPI 有新版的话就会忽略本地旧版的 .whl 及 cache 结论 ---- 设定好之後,你可以建立一个 wheel_list.txt 然後 cat wheel_list.txt | xargs pip wheel 把常用的 wheel 都建好自用、送 VM 两相宜。 看到 pip install ipython[all] 一行装一个套件,20 秒内装好 12 个套件的感觉真好。 参考 ---- - pip 官网: https://pip.pypa.io/ - wheel 官网: http://wheel.readthedocs.org/ 如果有写错什麽再麻烦多多指教(鞠躬) 说好的 Windows 呢? =================== 上述的所有功能在 Windows 上都能正常运作。 设定档请写在 %HOME%\pip\pip.ini 中 [global] find-links = C:\pip\wheels download_cache = C:\pip\cache [wheel] wheel-dir = C:\pip\wheels 请确定这些路径存在且有权限。 在 Windows 上设定 Python ------------------------ (是不是要另外发一篇?) 如果用 Python 3.4 的话,使用官方的安装程式, 装完就有 setuptools 以及 pip 了。 虚拟环境用内建的就可以了 PS > py.exe -3.4 -m venv VENV_NAME PS > .\VENV_NAME\Scripts\Activate.ps1 (VENV_NAME) PS > 还是彩色的喔 :) Powershell PS1 权限 """"""""""""""""""" 如果 Activate.ps1 喷 error 的话,用管理员权限执行 PS > Set-ExecutionPolicy Unrestricted # 按 Y -- --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 106.185.29.212
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Python/M.1406294621.A.42B.html
1F:推 kenshin528:超实用! 07/25 23:43
※ 编辑: ccwang002 (167.220.232.35), 07/26/2014 17:08:09
2F:推 adason:谢谢详细讲解~ 07/27 05:48
※ 编辑: ccwang002 (167.220.232.35), 07/27/2014 17:52:57
3F:推 timTan:越来越多套件用 wheel 了,真的快,好厉害 07/28 15:20
4F:推 zazion:实用推! 07/30 00:21
5F:推 r44:感谢~ 07/30 14:14
6F:→ keitheis:朝圣推 07/31 11:10







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP