2016-09-29 35 views
1

我有一个Vagrant虚拟机,我用它来运行自动化测试。当我在虚拟机中闲逛并打开控制台时,我可以通过命令行上的一条简单命令启动我的测试。在SSH进入该虚拟机,并从相同的确切目录运行相同的确切脚本后,我收到了关于不存在的模块和某些文件不存在的错误。可能是什么情况?SSH进入我的Vagrant虚拟机运行一个python脚本...但python脚本不工作,除非我在虚拟机本身

我用纳米做出随机txt文件,肯定够我看到txt文件出现在我的SSH终端时,我看着在目录中我把TXT。从SSH的角度来看,环境有什么不同?为什么从虚拟机终端和SSH终端执行相同的python脚本会产生截然不同的结果?

我正在使用机器人框架和硒进行测试。我从命令行执行的python脚本启动了这些测试。

+0

运行'这python'在两种环境。结果是否一致? –

+0

不!非常棒。从SSH控制台运行时,结果是/ usr/bin/python。从Vagrant VM控制台运行时,结果为/ home/vagrant/regression_venv/bin/python。所以我猜测我需要将SSH控制台的python更改为我在Vagrant VM控制台中看到的路径。 – HandleThatError

+0

将其他python目录添加到我的路径后,我能够获得我想要的结果。你能写出你的回答作为答案,所以我可以upvote并接受它? @Robᵩ – HandleThatError

回答

2

您在两种环境中没有使用相同的Python可执行文件。出于某种原因,您的流浪控制台正在使用virtual environment

当你SSH到你的虚拟机,执行测试脚本之前运行此命令:

source /home/vagrant/regression_venv/bin/activate 
相关问题