是否有可能创建一个可以从任何地方运行的Windows可分发的Python程序?

时间:2014-07-16 14:29:54

标签: python path software-distribution

我认为我的问题措辞非常严厉,这可能就是为什么我还没有找到答案。

我在Python中创建了我的程序,使用bdist_winisnt从中创建了一个可安装的.exe文件。一旦安装了程序,我希望能够从任何地方运行它。这是一个命令行程序,所以我希望用户能够在不同的目录中,并且仍然能够在命令行中键入example.py并且程序可以运行。

这可能吗?有没有办法在setup.py中包含某种路径指令,它将在安装时运行,以便计算机始终知道它在哪里?

我还希望能够在某些时候在Linux中执行此操作,它是否也能正常工作?

我对编程非常陌生,所以我可能在我所说的内容上犯了一些错误,提前道歉。

编辑:通过在setup.py文件中添加一行来证明有一个really simple way to do it

3 个答案:

答案 0 :(得分:2)

您的问题的答案很好:http://docs.python-guide.org/en/latest/shipping/freezing/

选项包括:

  • bbFreeze
  • py2exe(支持Python 3)
  • pyInstaller(不支持Python 3)
  • cx_Freeze
  • py2app(Mac)

enter image description here

答案 1 :(得分:1)

检查PyInstaller

PyInstaller是创建可执行文件的有希望的解决方案。

我在Ubuntu上测试了它,但文档声称,MS Windows也受支持。

有多个选项,其中一个是单个可执行文件(包括完整的Python)。

答案 2 :(得分:1)

您的安装程序仅将python脚本复制到指定目录。

为了运行python脚本,你需要安装python。

您可以使用像PyInstaller这样的工具将脚本(.py文件)转换为可执行文件(Windows上的.exe)。 PyInstaller的工作方式是将python解释器和脚本复制到一个文件中,以便您可以轻松地分发程序。

将脚本转换为可执行文件后,需要将其添加到路径中,以便操作系统知道在哪里找到它。执行此操作后,您可以从任何目录的命令行运行程序。

同样的过程也可以在Linux上运行,但是您必须对可执行文件进行单独的分发,因为Windows可执行文件与Linux可执行文件不同。