为什么从控制台运行脚本时无法导入工作?

问题描述 投票:0回答:1

在文件中

create_admin_user.py
我写道:
from models import User, Role, Session
启动时
create_admin_user.py
PyCharm 一切正常,但是当我使用命令
python create_admin_user.py
从终端运行它时,返回错误:
ModuleNotFoundError: No module named 'models'
这是我的
models.__init__.py
:

from .base import Base, engine, Session
from .doctor importDoctor
from .specialization import Specialization
from .address import Address
from .user import User
from .file import Role

Base.metadata.create_all(engine)

项目结构:

src/
  models/
    __init__.py
  scripts/
    create_admin_user.py

请问是什么原因以及如何解决?

我尝试写作

from ..models import User, Role, Session
没有帮助

python pycharm python-import
1个回答
0
投票

您需要通过修改

src
环境变量或直接修改
PYTHONPATH
sys.path
目录添加到模块搜索路径中。

示例:

PYTHONPATH='/home/users/Никита/projects/YourProject/src' python create_admin_user.py

这里是讨论模块搜索路径初始化的Python官方文档的链接:https://docs.python.org/3/library/sys_path_init.html

© www.soinside.com 2019 - 2024. All rights reserved.