让 pip 忽略现有的***

Posted

技术标签:

【中文标题】让 pip 忽略现有的***【英文标题】:make pip ignore an existing wheel 【发布时间】:2016-11-10 20:19:46 【问题描述】:

如果.whl 在线可用,pip 总是安装它而不是从源代码编译。但是,对于某些特定的模块,***恰好是为下一代处理器编译的,并且不能在特定的机器上运行。

如果我命令它只下载包,那么它仍然下载***而不是源代码。 pip 是否有某种机制来覆盖此首选项?

【问题讨论】:

@MosesKoledoye 不,这不受本地缓存的影响。 对不起。我想你可以直接从git 进行安装,如果源有一个pip install git+https://repourl @MosesKoledoye 然后我需要以某种方式手动了解该软件包在线上有一个 git repo 以及它在哪里。 FWIW,我可以手动本地化源代码并编译它,所有这些都不需要pip 另外,你应该向上游报告这样的***,显然它的版本没有正确标记 @AnttiHaapala 它被标记为“win32”。我不知道车轮上有任何更具体的(例如“ix86”)标记。有吗? 【参考方案1】:

尝试使用

pip install <package> --no-binary :all:

您可以在pip install --help 中找到此选项(以及它所采用的值)。

还有 --no-use-wheel 选项,但已被弃用,取而代之的是上述选项,并在 pip 10.0.0 中删除。

这里是官方文档中的参考:

https://pip.pypa.io/en/stable/reference/pip_install/#install-no-binary

【讨论】:

使用自制 Python 安装和使用 4 字节 Unicode (UCS-4) 符号构建的 python-levenshtein 的***遇到了这个问题,而我的 Python 只是 UCS-2。我得到的回溯与here:undefined symbol: PyUnicodeUCS4_FromUnicode 描述的类似。使用pip install --no-binary 从源代码安装(忽略***)完全成功了! 建议的编辑队列已满,但这里是正确的链接:pip.pypa.io/en/stable/cli/pip_install/#cmdoption-no-binary

以上是关于让 pip 忽略现有的***的主要内容,如果未能解决你的问题,请参考以下文章

如何让easy_install忽略证书

为啥 Pip 会忽略已配置的具有嵌套依赖项的存储库?

Textarea 忽略输入但需要触发保存按钮

我应该忽略_SCoreData ConstraintViolationException 吗?

Java Socket 怎么忽略SIGPIPE信号

android studio怎么配置svn忽略文件