我的 Flask 项目结构如下,我已将其部署到 ec2 。
myproject
--src
-- cache
--- cache.py
-- storeservice
--- upload.py
-- esService
--- es.py
-- ui
--- html
--- static
-- main
--- controller.py
在控制器中我有导入
from storeservice.upload import Upload
这在 pycharm 上运行良好,但是当我通过终端运行时,它给出了错误
我使用的命令是
python3 controller.py
from storeservice.upload import Upload
ModuleNotFoundError: No module named 'storeservice'
有没有一种方法可以在不更改任何代码的情况下执行它?
您需要将文件夹
/....../myproject/src
添加到您的 PYTHONPATH
,pycharm 默认情况下会执行此操作,您需要在 pycharm 之外手动执行此操作。
最便携的方法之一是创建一个 shell 脚本,使用正确的路径修改环境,然后执行 python 脚本,然后调用该脚本而不是直接调用 python。