python - 附加路径但 python 找不到模块

标签 python linux

我有以下结构:

~/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/

相关文章:

nmap - 使用 python-nmap 确定主机的操作系统

python - 如何在 Django FeinCMS 项目中子类化我的 ModelAdmins?

python - 为什么我不能在 Python 中创建这样的对象?

linux - 如何使 Jmeter 从 CMD 运行命令 - 操作系统采样器 - JMETER

java - 子文件夹不是通过 java 通过 scp 命令复制的

r - auto.arima 在Window 和Linux 中提取不同的结果

linux - Bash 脚本遍历 PID 并杀死项目

python - Pandas:如何将数据框插入 Clickhouse

python - Lasagne/Theano 维数错误

linux - Bash - 更正格式(sed?)