
- 有一个python包(如
scipy
),该包依赖于其他包(如numpy
),但未setup.py
声明该要求/依赖关系。 - 在当前环境提供所需包装的情况下,为此类包装构建轮子会成功。
- 如果没有所需的软件包,则组装轮子会失败。
注意:理想的解决方案是
setup.py通过添加必需的包声明来更正损坏的包。但这大部分是不可行的,我们必须另辟way径。解决方案:首先安装所需的软件包
(用于安装程序
scipy需要
numpy)具有两个步骤
- 制造轮子
- 使用轮子安装所需的包装
此 *** 作仅需执行一次,然后可以重复使用多次。
有正确配置PIP配置,以便从车轮该安装是允许的, *** 舵室目录被设置和使用重叠
download-cache
和find-links
如在下面的例子pip.conf
:[global]
download-cache = /home/javl/.pip/cache
find-links = /home/javl/.pip/packages[install]
use-wheel = yes[wheel]
wheel-dir = /home/javl/.pip/packages为所有必须安装的软件包安装所有必需的系统库
制作所需包装的轮子(
numpy
)$ pip wheel numpy
设置virtualenv(只需一次),将其激活并安装在此处
numpy
:$ pip install numpy
准备好轮子后,它应该很快。
- 为
scipy
(仍然在virtualenv中)构建轮子$ pip wheel scipy
现在,您的驾驶室将装有所需的车轮。
- 您可以删除临时的virtualenv,不再需要它。
我假设您已经创建了新的virtualenv,将其激活并希望在此
scipy安装。
直接
scipy从新
scipy车轮安装仍会因丢失而失败
numpy。我们通过
numpy首先安装克服了这一问题。
$ pip install numpy
然后完成
$ pip install scipy
我想这可以在一个电话中完成(但我没有测试)
反复安装$ pip install numpy scipy
scipy经过验证的版本
在将来的某个时刻,很可能会发行
scipy或的新版本,
numpy并且pip会尝试安装 *** 舵室中没有任何车轮的最新版本。
如果你可以用到目前为止你已经使用了版本的生活,你必须创建
requirements.txt陈述的版本,
numpy和
scipy你喜欢的,并从它安装。
这将确保在实际使用之前提供所需的包装。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)