2015-04-28 72 views
3

我有一個應用程序部署在heroku上,並運行在Python 2.7.6上。在本地機器,同樣的Python版本,我得到導入錯誤的地方位於發射模塊:僅在本地環境下的Python導入錯誤

(VIRTUALENV)$ python pybossa/web.py 
Traceback (most recent call last): 
    File "pybossa/web.py", line 31, in <module> 
    import pybossa 
ImportError: No module named pybossa 

的pybossa文件夾中有__ init__.py與此內容:

__version__ = "0.1" 

回答

1

正如丹Cornilescu說當地環境存在問題。當我在項目中安裝需求時(即在pybossa項目中運行$ pip install -r requirements.txt)時出現了這種情況。

從父項目運行時,環境正常(即$ pip install -r pybossa/requirements.txt

2

你在2個執行案例中可能在環境中存在不匹配。

您可以設置的pybossa目錄的父添加到您的PYTHONPATH(只是一個例子,但它是更好地嘗試匹配的環境,其他的驚喜可以在那裏潛伏否則):

$~/tmp> python pybossa/web.py 
Traceback (most recent call last): 
    File "pybossa/web.py", line 1, in <module> 
    import pybossa 
ImportError: No module named pybossa 
$~/tmp> echo $PYTHONPATH 
PYTHONPATH: Undefined variable. 
$~/tmp> setenv PYTHONPATH '.' 
$~/tmp> python pybossa/web.py 
$~/tmp>