Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何最好地安装Python+;Windows上使用InstallShield的模块_Python_Python 2.7_Installshield_Python Module - Fatal编程技术网

如何最好地安装Python+;Windows上使用InstallShield的模块

如何最好地安装Python+;Windows上使用InstallShield的模块,python,python-2.7,installshield,python-module,Python,Python 2.7,Installshield,Python Module,我们现有的InstallShield安装程序安装以下内容: 我们的产品 Python 2.7.13通过官方Windows exe安装程序 通过exe安装程序提供3个python模块(pywin32、psycopg和setuptools) 我们生产的2个鸡蛋模块 Python是以静默方式安装的,但是3个模块安装程序会打开自己的安装窗口,阻止我们的安装,看起来非常不专业,并且要求用户点击它们。我们似乎无法传递任何参数来强制它们以静默方式运行 我们的安装程序已经7年了。我认为Python模块在Wind

我们现有的InstallShield安装程序安装以下内容:

  • 我们的产品
  • Python 2.7.13通过官方Windows exe安装程序
  • 通过exe安装程序提供3个python模块(pywin32、psycopg和setuptools)
  • 我们生产的2个鸡蛋模块
  • Python是以静默方式安装的,但是3个模块安装程序会打开自己的安装窗口,阻止我们的安装,看起来非常不专业,并且要求用户点击它们。我们似乎无法传递任何参数来强制它们以静默方式运行

    我们的安装程序已经7年了。我认为Python模块在Windows上的安装方式的进步已经使基于exe的模块安装程序完全过时,但我似乎无法找到一个关于推荐的“现代”安装方法的明确答案。鉴于以下限制,我们可以做些什么来让安装程序运行到完成,而不需要点击模块安装程序

    下列条件适用:

  • 我们必须继续使用InstallShield作为安装引擎
  • 在安装过程中,我们将没有Internet连接
  • 此安装适用于机器上的所有用户

  • 我在这里从来没有得到过答案,所以我自己向前迈进

    默认情况下,Windows Python 2.7.13安装包括pip和setuptools。这一事实允许我从.exe模块安装程序切换到轮子(.whl)安装程序。由于我们没有互联网连接,我无法使用依赖关系未满足的whl,但谢天谢地,我需要的模块中没有一个属于这一类。一旦安装了Python本身,每个pip安装都会通过LaunchAppAndWait()从InstallShield代码中触发


    唯一的“问题”是pywin32模块有一个安装后脚本,该脚本必须在pip安装后运行。这是由exe安装程序自动处理的,所以我甚至不知道它,除非whl安装最初出现问题。

    另一个选择是使用捆绑工具。有一些工具可以将python应用程序捆绑到.exe中。