2015-09-12 67 views
1

大家好,這是我在StackOverflow上的第一個問題,我希望它能找到每個人。我最近開始使用TMUX,並且在使用它來解決機器學習問題時遇到了問題。TMUX Session不會導入Python模塊

我使用python創建了一個程序,我使用了sklearn模塊。基本上,當我在終端中運行我的TMUX會話中的代碼時,一切正常。但是,當我啓動一個TMUX會話並運行代碼時,出現以下錯誤。

Traceback (most recent call last): 
    File "hw1.py", line 5, in <module> 
    from sklearn import svm 
ImportError: No module named sklearn 

由於某些原因,即使安裝了它,它也找不到sklearn,並且它在TMUX會話外正常工作。這是我的進口陳述。

import numpy 
import scipy.io 
from sklearn import svm 
from random import sample 

爲什麼在TMUX中找不到模塊?我該如何解決這個問題?

+1

這聽起來像一個python相關的環境變量的差異。 – Barmar

+0

在兩個地方(在tmux會話中和之外)運行'pip freeze> environ.txt'並檢查是否有一些差異(或者如果找不到它,可能會發布它)。 –

+0

很可能是tmux沒有使用正確的PATH變量。鍵入python進出tmux並查看它是否使用相同的python安裝。或者它是anaconda環境變量。 –

回答

0

我在OS X上遇到了同樣的問題。當您在非默認的anaconda環境中調用tmux時,似乎PATH變量會變得混亂。 如果我在調用source activate之前在一個新終端中運行tmux,然後在tmux中激活我想要的環境,那麼事情就會按預期工作。不幸的是,採用這種解決方法時,我必須記得在每個我在tmux中打開的窗格中調用source activate,因此這不是理想的解決方案。