如何修复 "ImportError: No module named ..."

2024-05-17 22:39:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我在这里回顾了大部分类似的问题。 我是python新手,我正在使用ubuntu13.10 项目结构是

├── projecttest
│   ├── api.py
│   ├── controller
│   │   ├── controller.py
│   │   ├── controller.pyc
│   │   ├── init_db.py
│   │   ├── __init__.py
│   │   ├── __init__.pyc
│   │   ├── settings.py
│   │   ├── settings.pyc
│   │   └── extra
│   │       ├── extra.py
│   │       ├── extra.pyc
│   │       ├── __init__.py
│   │       └── __init__.pyc
│   ├── __init__.py
│   ├── lib
│   │   └── __init__.py
│   ├── models
│   │   ├── documents.py
│   │   ├── documents.pyc
│   │   └── __init__.py

所有的__init__.py文件都是空的(没有隐藏字符),并且当我尝试

^{pr2}$

有:

from projecttest.models.documents import *

我得到了:

Traceback (most recent call last):
  File "controllers/init_db.py", line 1, in <module>
    from projecttest.models.documents import *
ImportError: No module named projecttest.models.documents

Tags: 项目frompyimportdbsettingsinitmodels
1条回答
网友
1楼 · 发布于 2024-05-17 22:39:35

您需要指定PYTHONPATH环境变量,它会增加模块文件的默认搜索路径。在

把PYTHONPATH看作是一条绝对路径是有帮助的。如果指定它,则可以在程序中相对于PYTHONPATH导入模块。在

在您的情况下,它将类似于以下行:

PYTHONPATH=/<dir>/<folder>/projecttest/ python init_db.py

然后您可以导入模块而不会出现以下问题:

^{pr2}$

相关问题 更多 >