2016-09-29 22 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 
相關問題