我正在尝试在 Windows 和 Linux 上设置相同的 Python github 项目。在 Windows 上,我有
echo %PYTHONPATH%
c:\project_foo
在 Linux 上我有
echo $PYTHONPATH
:/home/vagrant/project_foo
该文件夹内project_foo
还有另一个project_foo
包含源代码的文件夹。
在 Windows 上,这些导入可以正常工作:
import project_foo.module_1
import project_foo.module_2
在 Linux 上,它不起作用。它给出了错误:
>>> import project_foo.module_1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named project_foo.module_1
但是,如果我将其添加/home/vagrant/
到我的 PYTHONPATH 中,上述操作在 Linux 上有效。或者,在 Linux 上,这也有效:
import module_1
这是为什么?为什么 Windows 和 Linux 的行为不同?哪种行为是 python 想要的?