【问题标题】:Install python packages offline on server在服务器上离线安装 python 包
【发布时间】:2019-01-16 08:53:00
【问题描述】:

我想在无法访问互联网的服务器上安装一些软件包。所以我必须取包裹并将它们发送到服务器。但我不知道如何安装它们。

【问题讨论】:

标签: python pip setup.py installation-package


【解决方案1】:

下载您需要的所有软件包并将它们发送到您需要安装它们的服务器。他们是否有*whl*tar.gz 扩展名并不重要。然后使用pip一一安装:

pip install path/to/package

或:

python -m pip install path/to/package

如果服务器上有多个解释器(例如 python2 和 python3 或它们的多个版本),则第二个选项很有用。在这种情况下,将python 替换为您要使用的那个,例如:

python3 -m pip install path/to/package

如果你有很多包,你可以在需求文件中列出它们,就像你通常在可以访问互联网时所做的那样。然后,不要将包的名称放入文件中,而是放入包的路径(每行一个路径)。获得文件后,输入以下命令安装所有软件包:

python -m pip install -r requirements.txt

在需求文件中,您还可以混合使用不同类型的包(*whl*tar.gz)。唯一需要注意的是为您拥有的平台下载正确版本的软件包(64 位平台的 64 位软件包等)。

您可以在其documentation 中找到有关pip install 的更多信息。

【讨论】:

  • 这不起作用,除非两台服务器是相同的操作系统和架构。
  • @deed02392 我不确定你在说什么两台服务器。究竟是什么不适合你?
  • 我用的是 macbook。服务器是 CentOS。
  • 当然,我知道您使用 2 种不同的操作系统,但为什么会出现问题?如果您的 CentOS 服务器无法访问互联网,请从 pypi 下载 CentOS 的软件包,将它们放到服务器可以访问的某个地方并在您的 requirements.txt 中使用 requirement specifiers(可能使用 sys_platform就足够了。如果没有,则使用多个说明符的组合。
  • 我知道我可以从 pypi 网站下载它们,我只是让其他人知道他们是否尝试使用 pip,如this answer所示,例如,它不适用于跨操作系统他们需要一个具有平台特定依赖关系的包。
【解决方案2】:

您可以从网站下载软件包并运行python setup.py install。或者您可以在本地目录上运行pip install,例如:

pip install path/to/tar/ball

https://pip.pypa.io/en/stable/reference/pip_install/#usage

【讨论】:

  • 在包的本地目录上?
【解决方案3】:

https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载wheel 包。您可以通过pip install (package.whl) 安装.whl 软件包,更多信息请参考installing wheels using pip

【讨论】:

  • 从哪里下载包无关紧要。 pip install path/to/package 足以容纳 *whl*tar.gz 文件
  • 这些轮子仅适用于 Windows。
【解决方案4】:

从网站下载包并解压 tar 球。 运行python setup.py install

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-12
    • 2012-07-02
    • 2022-01-18
    • 2020-09-04
    • 2016-11-08
    • 2020-01-11
    • 2015-12-26
    • 1970-01-01
    相关资源
    最近更新 更多