是否可以 运行 Python 不安装(不使用像 py2exe 这样的打包程序)?

Is it possible to run Python without installation (without using packagers like py2exe)?

我们有一个复杂的工具(在 Python 中编码)用于环境验证和配置。它 运行 有多种 Windows 口味。到目前为止,我们在公司内部使用了这个工具。但是现在我们希望我们的支持工程师在路上使用它。问题是他们没有权限在客户机器上安装 Python。

为了解决这种情况,我们查看了 py2exe、cx_freeze 和 pyInstaller 等实用程序。虽然它们很好,但生成的 EXE 运行 在某些情况下会成为依赖性问题。所以我们放弃了使用这些工具。

是否可以将所有 python 相关文件都放在一个笔式驱动器中,然后 运行 直接从中取出?当我们这样做时,解释器显然会抱怨,因为 DLL 没有在目标机器上注册。我怀疑仅注册 DLL 可能会导致其他问题。有没有简单的解决方案?

假设您的脚本是 main.py

  • 将python目录的所有内容复制到它所在的目录
  • 在您的 windows 目录中搜索 python*.dll 并将其搜索到 project/python
  • 创建 project/main.bat:

main.bat

"%~dp0/python/python.exe" "%~dp0/main.py" %*

项目目录应该是:

project
├── python
|   ├── python.exe
|   ├── python27.dll
|   └── ...
├── main.py
└── main.bat

现在,用 main.bat

调用程序