2017-05-25 82 views
0

我有以下結構:路徑添加數據,但蟒蛇沒有找到模塊

~/git/ 
~/git/folder1 
~/git/folder2 

在〜/ git的/文件夾1我有main.py,其中進口執行以下操作:

import folder2.future_data as future_data 

這引發以下錯誤:

import folder2.future_data as f_d 
ImportError: No module named folder2.future_data 

儘管我$PATH

[email protected]:~$ echo $PATH 
/home/user/anaconda2/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/user/git/folder2 

爲什麼我無法從folder2導入,儘管它在我的路徑?

我錯過了什麼嗎?

回答

1

嘗試把一個空__init__.py文件中的每個目錄(〜/ git的〜/ git的/資料夾,和〜/ GIT中/文件夾2)。然後做export PYTHONPATH=${HOME}/git:$PYTHONPATH(假設bash shell)。

這也將允許您只在最高級別設置您的PYTHONPATH並完成它。如果添加需要導入的更多目錄(模塊),則可以繼續將__init__.py文件添加到結構中(而不必在每次文件/目錄結構更改時不斷修改您的PYTHONPATH)。

+0

是啊已經有'__init __。py'會嘗試'出口' –

+0

出口做到了。謝謝! –

+0

很高興幫助! – mwm314

0

可以明確地添加main.py腳本中的路徑,你在做導入前

import sys 
sys.path.append(r'~/git/folder2') 
import future_data