【发布时间】:2023-03-13 04:45:01
【问题描述】:
我在从我之前使用 pip 安装的文件系统中导入两个本地(自行编写)包时遇到问题。
我正在使用一个 virtualenv,我也验证它已被激活,即 python 和 pip 指向 virtualenv。
这两个不同的包被组织在一个仓库中,如下所示:
├── .venv
│ └── ...
├── folder_a
│ ├── package_a
│ │ ├── __init__.py
│ │ ├── a.py
│ │ └── subpackage_same_name
│ │ └── ...
│ ├── pyproject.toml
│ ├── requirements.txt
│ └── setup.cfg
├── folder_b
│ ├── package_b
│ │ ├── __init__.py
│ │ ├── subpackage_b_exclusive
│ │ │ └── ...
│ │ ├── b.py
│ │ └── subpackage_same_name
│ │ └── ...
│ ├── pyproject.toml
│ ├── requirements.txt
│ ├── setup.cfg
│ └── tests
│ └── ...
我使用以下命令从上述树的根目录安装两个包(激活 virtualenv):
pip install ./folder_a
和
pip install ./folder_b.
安装成功,包显示在pip list。
但是,当我尝试在a.py 中导入package_a 时,我得到一个ModuleNotFoundError: No module named 'package_a'。
我无法在这里找出问题所在,是 virtualenv 相对于包定义的位置(注意树中的 .venv)吗?
我在监督什么吗?
任何帮助表示赞赏!
【问题讨论】:
-
如果不查看真实代码或至少是minimal reproducible example,很难判断。
标签: python pip package modulenotfounderror