2016-09-29 41 views
1

我们有一个复杂的工具(用Python编码)用于环境验证和配置。它运行在各种Windows风格上。到目前为止,我们在公司内部使用了该工具。但是现在我们希望我们的支持工程师在旅途中使用它。问题是他们没有权限在客户机器上安装Python。是否有可能在没有安装的情况下运行Python(不使用像py2exe这样的包装器)?

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

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

+0

哪些DLL需要注册的程序? – napuzba

+0

python27.dll是它开始的地方 – nLogN

+0

在USB棒上运行WinPython应该可行,不是吗?当然,你必须小心路径等,因为不会有任何环境变量。 – nostradamus

回答

0

假设你的脚本是main.py

  • 复制所有的Python目录的目录它驻留在
  • 搜索python*.dll在Windows目录和它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

+0

我希望这会工作!不幸的是,它没有。它给出了和以前一样的错误。 python DLL仍未在Windows中注册。 – nLogN

+0

在你的Windows目录中找到'python * .dll',并将它复制到'project/python'目录。 – napuzba

+0

太棒了,我懂了!谢谢@napuzba。 对于其他想要尝试此操作的人:请注意,python27.dll不在安装文件夹中,而是在** C:\ Windows \ System32 **中。 – nLogN

相关问题