安装Python 2.7.16并离线安装软件包。与依赖有关的问题

时间:2019-07-02 13:42:30

标签: python-2.7 dependencies pyinstaller openpyxl offline

问题

出于安全原因,我试图将Python 2.7.16,openpyxl和pyinstaller安装到脱机的Windows 10计算机上。为了明确起见,我在那里有一个映射的网络驱动器,可以从其中传输需要使用的文件。

问题

解决此问题的最佳方法是什么?我目前直接在他们的网站上有一个.msi Python安装文件。我需要的软件包打包为.tar.gz文件。我目前在Windows机器上安装了这些驱动程序,但是直到我确定要执行的操作之前,都不想继续进行操作。另外,我是否需要为依赖项做任何事情?如果是这样,如何找到所需软件包的依赖关系?

附注

pip附带了Python(2.7.16)版本。不知道这是否有所作为。下载和传输内容需要我询问管理员,让他下载文件,然后将其传输到驱动器中,以便可以将其保存在计算机上。如果可以的话,我想尽可能少地尝试。

有用的链接

Python:https://www.python.org/downloads/release/python-2716/

openpyxl:https://pypi.org/project/openpyxl/#files

pyinstaller:https://pypi.org/project/PyInstaller/#files

2 个答案:

答案 0 :(得分:1)

我的解决方案是找出python和pip安装程序的脱机版本并遵循this guide

一个很好的提示:在已断开连接的另一台PC上尝试完成整个过程(安装所需的软件),然后进行安装。注意使它正常工作所需要做的一切,并在最初打算使用的计算机上使用这些说明。这样可以避免在目标计算机上安装时不得不来回划伤头部。

请注意,我不知道python如何工作,这只是我作为程序员的一种预感。

答案 1 :(得分:0)

在脱机计算机上安装Python和软件包:综合指南


环境

让我们从定义本指南可能在其中有用的环境开始。如果可以通过以下一种或多种方式描述您的情况,那么遵循本指南可能会取得很好的结果...

  1. 您正在开发的计算机处于脱机状态。 (无法连接到互联网)
  2. 您需要在完全脱机的计算机上开发和运行Python。

如果这听起来像您,请阅读以下案例,在这些案例中,一些小细节可能会对您起步产生重大影响。

案例1:

  1. 不允许将任何外部媒体设备插入离线计算机。这包括但不限于USB,CD,软盘或任何其他可用于帮助您将Python文件传输到脱机计算机的可移动媒体。
  2. 允许您映射网络驱动器(本地网络上的其他位置)。这将解决可移动媒体在第一方面提到的问题。

答案:在这种情况下,请继续阅读指南,因为这是我的情况,我将详细说明如何解决我的问题。

案例2:

  1. 没有物理方法将文件传输到脱机的开发计算机上。

答案:如果是这种情况,则需要与处理开发计算机上软件的管理员团队取得联系。将他们引导至本指南以继续。

让我们开始吧

警告A: 必须在具有互联网连接的计算机上执行以下操作。如果没有互联网连接,则无法从任何网站下载内容。

警告B: 有一个更长的方法,还有一个更短的方法来执行以下操作。为了避免更长的时间,您必须能够在在线的其他计算机上安装python。这可以是您用于下载软件包和python版本的同一台计算机,甚至可以是家用计算机。这可以是互联网上的任何计算机。唯一的目的是帮助您识别每个程序包的依赖性。

安装Python

  1. 访问python网站并确定所需的版本。建议使用2.7.9及更高版本。下载适用于您特定系统的文件。

Python 2.7.9:https://www.python.org/downloads/release/python-279/

Python 3.7.3:https://www.python.org/downloads/release/python-373/

我提供Python 2.7.9的原因是因为这是pip(程序包管理器)随附的最早的2.7.x版本。

  1. 访问python软件包索引以找到将在python项目中使用的软件包。 https://pypi.org/
  2. 搜索所需的软件包,转到下载文件,然后获取(.tar.gz)文件。 不是 .whl 文件,除非您知道自己在做什么。
  3. 提示:如果要跟踪正在安装的软件包,建议将它们全部放在一个文件夹中,或者将其写下来。
  4. 解压缩.tar.gz软件包文件。一旦解压缩它们,就可以摆脱.tar.gz,因为它们将不再需要。
  5. 安装在上述步骤1中为系统下载的python版本。

(这可能只是为Windows运行.msi文件,或者为linux解压缩某些文件)如果您不确定如何操作,请查看此出色的指南 https://realpython.com/installing-python/

现在,您应该可以在终端上输入“ python”,然后打开python解释器。如果收到“找不到python命令”,则需要设置路径变量。

Windows指南:https://geek-university.com/python/add-python-to-the-windows-path/

Linux指南:https://www.tutorialspoint.com/python/python_environment.htm

您的python安装完成!而且您的软件包还应该可以安装了!

安装Python软件包

您在这里需要知道的是,大多数python软件包都具有依赖性,这是软件包安装前需要安装的其他软件包。如果您需要有关依赖性的更多说明,请阅读:https://www.fullstackpython.com/application-dependencies.html

在继续操作之前,请确保也将Python / Scripts文件夹也添加到您的path变量中,否则pip将不起作用。请按照此链接获取说明。 https://appuals.com/fix-pip-is-not-recognized-as-an-internal-or-external-command/

  1. 使用pip install [package_name]在互联网上的计算机上为每个所需的软件包安装软件包,然后执行pip freeze来查看所有已安装的软件包。
  2. 一旦您看到所有已安装的软件包,其中将包括您在pip install上运行的软件包的依赖关系,就需要像从前一样从python软件包索引https://pypi.org/中手动下载这些依赖关系使用常规软件包。

离线移动

一旦确定了所需的所有软件包及其所有依赖项,就需要下载它们,解压缩所有软件包并将它们移到一个文件夹中,该文件夹称为“ OFFLINE_SETUP_FOLDER”。

要明确: 我们之前安装的软件包只是为了找出我们需要的依赖项。在运行pip install之前,您不必重新下载已经下载的软件包。 您只需要下载在 pip freeze命令期间找到的依赖项。

  1. 最后,您需要将python安装文件复制到“ OFFLINE_SETUP_FOLDER”中,该文件是Windows的.msi文件,还是Linux的.tar文件。

  2. 您的“ OFFLINE_SETUP_FOLDER”应包含以下内容...

以下,package可以是您下载的任何软件包的名称,package1apackage1b中的a和b仅表示该软件包的依赖关系。这些文件名只是软件包的示例

  • python.msi(python的安装文件)
  • / package1(常规软件包文件夹)
  • / package1a(程序包依赖文件夹)
  • / package1b(程序包依赖文件夹)
  • / package2(常规软件包文件夹)
  • / package3(常规软件包文件夹)
  • / package3a(程序包依赖文件夹)


  1. 完成此操作后,您需要将该文件夹移动到与网络完全脱机的计算机上。
  2. 然后像以前一样运行python的安装,并将其安装在计算机上。不要忘记设置路径变量。如果需要,请参考“安装Python”部分。
  3. 打开终端或CMD和CD到“ OFFLINE_SETUP_FOLDER”中。
  4. 现在,您需要CD放入每个单独的软件包文件夹,然后运行以下命令:python setup.py install并使其运行。
  5. 如果软件包安装失败,这是因为尚未安装其中一个依赖项。在这种情况下,CD进入缺少的依赖项,并首先在其中运行python setup.py install
  6. 继续重复这些步骤,直到安装了所有软件包和依赖项。

这是本python指南的结尾,该指南用于在离线计算机上安装python。希望对您有所帮助:)

相关问题