首页 > 解决方案 > python virtualenv导入失败

问题描述

我的源代码树如下。我正在使用python3.7

proj/
  src/
    __init__.py
    module1.py
    module2.py
  venv
  __main__.py

__main__.py进口module1,哪个进口module2。我在虚拟环境中运行它。见下文:

__main__.py

import src.module1
...

module1.py

import module2
...

请注意,我确实__init__.py在目录中有该文件src

当我运行时__main__.py,我最终得到一个导入错误:

ModuleNotFoundError: No module named 'module2'

我发现如果我在虚拟环境之外运行程序,module1可以导入module2,但是在 中venv,我遇到了这个错误。我对如何正确完成这项工作感到困惑,因为我相信我在这里已经正确地完成了所有工作,使用绝对导入和__init__.py.

标签: python-3.xpython-import

解决方案


Python 导入非常敏感!前几天我破坏了我的整个项目......

第一的:

export PYTHONPATH=/path/to/proj/

第二:

import src.module2

第三:在 main.py 中,如果您正在调用单个函数或变量,请执行

from src.module2 import x,y

这样做而不是... import *


推荐阅读