如何使用Pip安装离线依赖包的Python软件包?

3
我创建了一个包,可以在联网的情况下安装,但现在需要在没有网络连接的情况下安装,因此我需要下载所有外部依赖项,并从源代码安装它们。
如何从源代码安装Python包,而外部包需要互联网连接?换句话说,如何使pip查找本地源而不是外部源进行安装?

你不能按顺序安装依赖项吗?我的意思是,无论你找到哪个解决方案,你都必须弄清楚需要哪些软件包并下载它们。那么,按正确顺序安装它们是否会增加额外的工作量,还是存在其他问题? - sehafoc
可能是Python包离线安装的重复问题。 - phd
1个回答

13
这个问题似乎已经在这里得到了回答。然而,以下是一个快速的概述:
  1. 将您的软件包上传到Python软件包索引(PyPI)
  2. 使用联网的机器上的pip下载软件包,然后将其转换为.tar文件

mkdir ~/some_directory
pip download some_package -d "~/some_directory"
tar -cvfz some_package.tar some_directory
  • 一旦以.tar格式打包,你可以在没有网络连接的情况下,在已安装Python的计算机上安装该软件包。

  • tar -xzvf some_package.tar
    cd some_directory
    pip install some_package-x.x.x-py2.py3-x-x.whl -f ./ --no-index
    

    2
    在第二步中的第三个命令中,命令行参数应该实际上是-cvzf,其中文件名参数最后出现,以便下一个立即参数(即提供的文件名值)能够被正确解释。 - Ryan Codrai
    对于Python 3.11的第三步,可以简单地: - Ro Ma

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