【发布时间】:2018-04-03 10:56:14
【问题描述】:
我最近被要求在面试过程中交付一个 Python 项目。 我在 Windows 和 MacOSX 上使用 Pycharm、Spyder、jupyter notebook 和命令行测试了我的项目,一切正常。
但是,审阅者无法使项目在他这边工作,因为据他说是模块导入问题。
我的模块是这样组织的:
my_project/
my_module.py
main_module.py
my_package/
__init__.py
my_submodule_1.py
my_submodule_2.py
my_submodule_1.py:
import my_module
import my_submodule_2
我没有在 PYTHONPATH 中添加任何与此项目相关的路径。
项目主函数位于main_module.py。
审稿人似乎对my_submodule_1.py.中导入的模块有问题
谁能解释一下这里可能出现的错误,以及为什么它对我有用而不对他有用?
【问题讨论】:
-
我可以看到两件事。 1-如果您在子目录文件中导入 my_module (这是父目录),那么您可能必须从父目录运行 python 文件。 python my_package/my_submodule_1.py 运行和 from my_package import my_submodule_1 如果您要在文件中导入。
-
2- 第二件事是,如果你从父目录运行它,那么子模块文件应该有类似 from my_package import my_submodule_2 的导入来使用。
标签: python python-import python-module