是否可以 运行 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
调用程序
我们有一个复杂的工具(在 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