python各种库包下载

Python各种库包下载

用pip装包装到一半,各种进度条卡住,库包然后红字报错——这事我碰过不下二十回。下载多数人第一反应是各种“网不好”,其实八成是库包源的问题。Python库包下载这件事,下载说穿了就三件事:用什么工具、各种从哪儿下、库包怎么处理失败。下载工具就那几个,各种但坑比想象中多。库包

先讲工具。下载pip是各种默认的,Python 3.4以后自带,库包够用。下载但你要是装过TensorFlow这种几百MB的大包,就会知道pip有多脆弱——断点续传?没有。超时重试?有,但默认15秒,国内网络分分钟触发。我建议直接用pip的`-i`参数换源,或者干脆配个全局配置文件。另外,conda是另一条路,尤其适合科学计算。它不光管Python包,连底层的C库、CUDA驱动都一并处理,省心。但conda的默认源也慢,同样要换。

说到源,这才是重点。PyPI官方源在国外,裸连下载速度能到几十KB/s就算运气好。国内常用清华、阿里、中科大三个镜像。清华源同步最勤,阿里源带宽最稳,中科大源有时候会抽风。个人经验:小包用清华,大包用阿里——阿里的CDN对大文件更友好。命令行直接写:
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
但每次敲这么长一串太蠢。在用户目录下建个`pip.conf`(Windows是`pip.ini`),写上:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

一劳永逸。换源后速度从几十KB飙到几MB,那种感觉像从绿皮火车跳上高铁。

换源还慢?那得考虑代理。公司网络常要设代理,pip也支持:
pip install requests --proxy http://user:pass@proxy.server:port
但注意,代理只对pip有效,conda得单独配`.condarc`文件。还有个冷门场景——离线安装。内网机器没法连外网,你得在能联网的机器上先下载whl文件:
pip download pandas -d ./packages
然后把整个文件夹拷过去,用`pip install --no-index --find-links=./packages pandas`安装。这招救过我好几次。

下载失败怎么办?别急着重试。先看报错信息。`Connection timed out`是网络问题,换源或加`--timeout 60`参数。`Could not find a version that satisfies the requirement`多半是Python版本不对——比如Python 3.12装不了某些老包,得降级或找轮子。还有个隐蔽坑:`pip install`默认从PyPI下载,但有些包只在GitHub上发布,比如一些个人项目。这时候得直接指定git地址:
pip install git+https://github.com/user/repo.git
前提是装了git。

最后说个细节。whl文件本质是zip,你可以用`unzip`解压看看里面有什么。有时候装不上,是因为包依赖的C库缺失,比如`libssl`。这时候别死磕Python层面,先检查系统库。Windows用户更要留意——很多包需要Microsoft C++ Build Tools,装不上就报`Microsoft Visual C++ 14.0 is required`。这跟下载源没关系,纯粹是环境问题。

库包下载这件事,90%的坑是网络和环境造成的。工具就那几个,源也就那几个,但每次遇到新报错,还是得老老实实看日志。别嫌麻烦,pip的`-v`参数能打印详细过程,`--no-cache-dir`能避开缓存导致的诡异问题。下载慢就换源,失败就查依赖,装不上就看编译工具——循环往复,直到成功。这行当没有银弹,但多试几次,总有一条路能通。