我有以下结构:
~/git/
~/git/folder1
~/git/folder2
在 ~/git/folder1 中我有 main.py,它导入执行以下操作:
import folder2.future_data as future_data
抛出以下错误:
import folder2.future_data as f_d
ImportError: No module named folder2.future_data
尽管我的 $PATH
包含
user@mac-upload:~$ echo $PATH
/home/user/anaconda2/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/user/git/folder2
为什么我无法从 folder2 导入,尽管它在我的路径中?
我错过了什么吗?
最佳答案
尝试在每个目录(~/git、~/git/folder1 和 ~/git/folder2)中放置一个空的 __init__.py
文件。然后执行 export PYTHONPATH=${HOME}/git:$PYTHONPATH
(假设是 bash shell)。
这也将允许您在顶层设置一次 PYTHONPATH 并完成它。如果您添加更多需要导入的目录(模块),您可以继续将 __init__.py
文件添加到您的结构中(而不是每次都必须不断修改您的 PYTHONPATH
文件/目录结构更改的时间)。
关于python - 附加路径但 python 找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44171674/