pip从哪里安装软件包?

14
我需要使用pip下载Biopython包。我运行了pip install biopython,但出现了以下错误:

enter image description here

我确认问题是因为网络阻止了大多数网站的访问,因此在尝试通过pip和其他方式安装其他软件包时会遇到网络连接错误。要允许这些下载,我需要编译下载源的url列表并将其发送给网络管理员以解除阻止。
根据pip文档(在pip维基百科文章中引用并简要解释),“许多软件包及其依赖项可以在默认软件包源——Python Package Index(PyPI)中找到”,所以我转到Biopython的PyPI页面,并找到了github存储库和包所需的依赖项。PyPI页面上还有下载链接,我想确保所有下载源都被允许。所以,pip是否从软件包的原始来源(github存储库或其他位置)安装,从PyPI页面下的下载列表中列出的软件包安装,还是两者都搜索?

来自pip的错误101,这通常意味着您正在代理服务器后面工作。请查看此方法,手动安装: http://biopython.org/DIST/docs/install/Installation.html#htoc7 - Rahul Bharadwaj
我正在使用运行RHEL的服务器,并已经安装了python2和python34(以及相应版本的pip)。我也看到了使用tar安装的方法,但不会使用它,因为后续需要修补和解决依赖问题。感谢您的建议。 - Drops
2个回答

1
一种解决方法是使用与网络不同的相同操作系统和Python版本的机器,在干净的目录中运行 python -m pip3 download biopython --dest .,这将下载适当的包以及它们所依赖的包。
之后,您可以在获取任何必需权限和病毒扫描后,将这些文件复制到您的防火墙机器上并运行 pip install <the files you downloaded>
或者,如果您只想找出涉及的所有URL,则可以使用(同样来自运行相同Python版本的操作系统外部的机器)捕获以下命令的输出:python -m pip3 download -v -v biopython --dest .,这将向您展示在下载包及其依赖项期间所访问的所有位置。

1

pip正在从PyPi安装软件包。 在PyPi网站上,您可以找到指向GitHub的链接,其中包含完整的软件包代码,但pip下载的是PyPi。


我可以在Docker Ubuntu 18.04(FROM ubuntu:bionic-20200903)中成功安装 pygobject==3.26.1。但是我无法在Docker Ubuntu 20.04(FROM ubuntu:focal-20210921)上安装它。它显示:Could not find a version that satisfies the requirement pygobject==3.26.1。目前在PyPi上没有pygobject==3.26.1(我已经在该网站上手动检查过)。那么当pip在Ubuntu 18.04上运行时,它从哪里找到这个版本呢?顺便说一下,我使用的是pip3 - Oleg Yablokov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接