前言
当服务器是离线的,只能离线安装pip包,即先下载好安装文件,比如scipy-1.5.4-cp36-cp36m-manylinux1_x86_64.whl
,把它传输到服务器上,再使用pip install scipy-1.5.4-cp36-cp36m-manylinux1_x86_64.whl
安装。
下面以安装python3.6使用的scipy为例讲解。
下载安装包
在网站https://pypi.org/上搜索scipy,找到第一个scipy 1.7.0
,是最新版的。点击scipy 1.7.0
,点击左侧Download files
,之后在右侧选择需要的包即可。
包的选择要分系统(win,linux,mac),python版本(2.7,3.5,3.6,3.7,3.8,3.9)。其他的就不清楚了,可以都下载试试看哪个能装。
问题是,我的python是3.6版本,这个scipy1.7.0最低只有python3.7版本的。需要找一个更老的版本。
安装指定历史版本
左侧Download files
上面有一个Release history
,点击它,就能找到历史版本。我选择1.5.4版本,发现有python3.6版本的安装包scipy-1.5.4-cp36-cp36m-manylinux1_x86_64.whl
,下载,安装,成功。
嵌套安装
由于不同包有很多相关依赖包,必须首先解决好依赖关系。比如要安装C,但是C依赖于B,而B依赖于A,就必须先安装A,在安装B,最后安装C。
在线安装会自动下载,手动安装需要一个一个安装依赖的包。
例如,当我安装tensorflow-1.15.2-cp36-cp36m-manylinux2010_x86_64.whl
时,出现问题:
ERROR: No matching distribution found for keras-preprocessing>=1.0.5
说明需要先安装包keras-preprocessing
,并且要求版本大于等于1.0.5。按照上面的安装指定版本即可,建议就按照1.0.5,避免更多的麻烦。