2017-05-25 97 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