没有Python的电脑上能运行Python程序吗?C/C++呢?
我可以创建一个Python程序,把它发送到远程计算机上,然后在那台计算机上运行,而不需要那台计算机上安装Python吗?我听说这是不行的,因为Python需要被解释执行。如果这是真的,那就很奇怪了,因为这样的话,要让大家都能使用这个程序就得让每个人都去安装Python。
那C和C++呢?它们能在没有安装这些语言的情况下在远程计算机上运行吗?(我觉得可以,因为它们是编译型语言)。
我不是很确定,想要更清楚一些。
编辑:
我得到了一些混合的答案,不知道该怎么处理。我看到我可以把Python库包含在程序里,还可以使用py2exe。
不过,我对C和C++有些困惑。我需要把它们的库包含在程序里吗?它们只能在某些机器上运行吗?编译器能让它在所有机器上运行吗?
7 个回答
你可以使用py2exe来把Python程序打包并分发到Windows系统上。
Python是一种解释型语言,这意味着它需要Python环境才能运行。不过,这并不意味着你必须在电脑上安装Python。你可以把Python的副本放在你的程序文件夹里,或者把程序和Python运行环境打包成一个文件。
C和C++的编译工具会生成机器代码(虽然实际上也有C的解释器,以及C和C++转成的字节码编译器)。但是大多数C和C++程序需要共享库才能运行,如果没有这些共享库,它们就无法工作(同样,这些库不一定要安装,可以放在程序文件夹里)。通常还有一个构建选项(静态链接),可以把所有需要的库都包含在主程序文件里。
不过,这样做的结果还是只能在特定的操作系统和CPU架构上运行。要让一个程序在多个平台上运行,通常需要针对每个平台的运行支持。
看看 py2exe 和 py2app,这两个工具分别用于 Windows 和 Mac。其实,很多运行 OSX 的 Mac 电脑和大多数现代的 Linux 系统上都已经安装了 Python。
C/C++ 的应用程序通常会被编译成可执行文件,这些文件只能在特定的机器或操作系统架构上运行(比如 32 位的 Windows 或 64 位的 OSX)。这样的可执行文件可以在一些机器上运行,但不是所有机器都能运行。例如,64 位的 Windows 或 OSX 可以运行为它们各自的操作系统编译的 32 位或 64 位程序。