制作Robotframework和RIDE的可移植版本,如何使其干净



我想调整Robotframework和RIDE,以便能够在USB密钥上使用它们。为了实现这一点,我计划使用Python的Portable版本,在该版本上,我将使用pip安装所有必要的模块。

Portable Python的主要优点是它不需要在用户的计算机上进行任何安装,他们只需要使用Portable Python提供的控制台可执行文件来访问Python及其模块。只需简单插入USB钥匙,用户就可以访问模块。

假设我在E:上的USB密钥上安装PortablePython。使用E:PortablePythonConsole-Launcher.exe,它使用命令行代码和PATH中所有与Python相关的文件,我设法安装了RobotFramework和RIDE的所有必要软件包。例如,我们可以在E:PortablePythonAppPythonScripts中找到robot.exe,而python-exe在E:PortablePythonAppPythonpython.exe中,就像python的常规安装一样。

这里的一切都很有魅力,我可以毫无问题地进行测试。当钥匙移动时,问题就来了。如果我尝试在D::上运行游乐设施

D:PortablePython>ride.py
Unable to create process using 'E:PortablePythonAppPythonpython.exe "D:AppPythonScriptsride.py" '

如果我写:,它实际上是有效的

D:PortablePython>D:AppPythonpython.exe D:PortablePythonAppPythonScriptsride.py

但是,当我尝试使用robot执行配置文件在RIDE中运行测试时,控制台中出现了类似的错误:

Fatal error in launcher: Unable to create process using '"E:PortablePythonAppPythonpython.exe"  "D:AppPythonScriptsrobot.exe" --version': Le fichier spÚcifiÚ est introuvable.

解决方法是强制在USB密钥上重新安装RobotFramework,使其使用D:PortablePythonAppPythonpython.exe而不是E:PortablePythonAppPythonpython.exe

以下是我的问题:

  • pip上有没有任何调整可以让包以某种方式移动?也许使用亲属路径而不是绝对路径
  • RIDE中的执行配置文件是否可以在D:上使用python-exe,而不是在E:上使用不存在的python exe
  • 在这种情况下,虚拟环境能否发挥作用

RIDE使用$HOME/.robotframework/RIDE或%APPDATA%\robotframework\RIDE目录来创建关键字文档(帮助(和settings.cfg的数据库。如果您想保留这些信息,您应该在可移动内存中有一个副本,并有一些脚本来创建指向它的链接。

此脚本可能是在RIDE启动之前设置RIDE的更好解决方案。通过这种方式,您可以设置所有需要的路径或环境变量,例如PATHPYTHONPATH

如果您的代码是开源的,您可以在https://github.com/HelioGuilherme66/RIDE

我似乎一直在使用Portable Python的不完整版本。我试着使用WinPython,它有一个使安装可移动的脚本,它解决了我提到的所有问题。

首先,我下载了进行测试所需的所有包和库,然后应用了WinPython提供的make_winpython_movable.bat。现在,当我移动文件或密钥时,一切都正常。

相关内容

最新更新