【问题标题】:Is it possible to run Python without installation (without using packagers like py2exe)?是否可以在不安装的情况下运行 Python(不使用 py2exe 之类的打包程序)?
【发布时间】:2016-09-29 12:16:25
【问题描述】:

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

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

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

【问题讨论】:

  • 哪些dll需要注册?
  • python27.dll 是它开始的地方
  • 在 U 盘上运行 WinPython 应该可以,不是吗?当然,你必须小心路径等,因为不会有任何环境变量。
  • WINPython 可能是一个解决方案。然而,我们的应用程序并没有开箱即用,因为它使用了 PyGtk。我没有找到使用 WinPython 获取 PyGtk 的简单方法。另一个问题是 WinPython 以科学计算为目标,并且有大量我们可能不想要的库。

标签: python dll installation python-standalone


【解决方案1】:

假设你的脚本是main.py

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

ma​​in.bat

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

项目目录应该是:

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

现在,用main.bat调用程序

【讨论】:

  • 我希望这会奏效!不幸的是,它没有。它给出了与以前相同的错误。 python DLL 仍未在 Windows 中注册。
  • 在你的windows目录下找到python*.dll,复制到project/python目录下。
  • 太棒了,我成功了!谢谢@napuzba。对于其他想要尝试的人:请注意,python27.dll 不在安装文件夹中,而是在 C:\Windows\System32.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-27
  • 1970-01-01
  • 2021-03-16
  • 1970-01-01
  • 2015-06-24
  • 1970-01-01
相关资源
最近更新 更多