从Supervisor运行Python脚本时出现ModuleNotFoundError

时间:2018-10-18 00:14:25

标签: python-3.x python-import supervisor

我使用超级用户从我的程序包中启动python脚本。 当我尝试从主管启动该过程时,它产生错误:Exited too quickly (process log may have details)。但是,从终端运行此脚本时,一切都很好:

cd /var/www/html/MyProject
source venv/bin/activate
python src/main.py

主管流程配置:

[program:MyProject]
directory=/var/www/html/MyProject/
command=/var/www/html/MyProject/venv/bin/python src/main.py
autostart=true
autorestart=true
stdout_logfile = /var/www/html/MyProject/logs/myproject_testing-out.txt
stdout_logfile_maxbytes = 3MB
stdout_logfile_backups = 3
stderr_logfile = /var/www/html/MyProject/logs/myproject_testing-err.txt
stderr_logfile_maxbytes = 3MB
stderr_logfile_backups = 3

日志文件(/var/www/html/MyProject/logs/myproject_testing-err.txt)中的错误:

Traceback (most recent call last):
  File "src/main.py", line 8, in <module>
    import src.config as config
ModuleNotFoundError: No module named 'src'

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

如果main.pyconfig.pyconfig软件包都在src中,则不需要像这样导入配置,您可以这样导入:< / p>

import config

如果您想像这样从src导入文件,则可能会丢失该文件夹中的__init__.py文件以使其成为软件包,尽管将源文件夹作为软件包不能很有道理。