尝试使用 Flask 作为原型设计方法并遇到一些问题。
基本上,我的 app.py 启动了一个子进程(tracking.py)来执行所有一些用户跟踪。
我有几个值应该时不时地保存到数据库中(我之前使用 .json 这样做过,但认为数据库会更干净)。
这些值都收集在tracking.py中。
现在我确信这是一个菜鸟错误,但是当我导入时
from flask_sqlalchemy import SQLAlchemy
在tracking.py中,我得到一个ModuleNotFoundError:没有名为“flask_sqlalchemy”的模块。
这看起来很奇怪,因为我从 app.py 导入它没有问题:
from flask import Flask, render_template, url_for, send_file
from flask_sqlalchemy import SQLAlchemy
import threading
import atexit
import subprocess
两者都在同一个venv中。
很高兴提供任何进一步的信息,但我认为这是一个愚蠢的疏忽。
我尝试卸载并重新安装(确保我使用 pip3 安装)并查看了 SQLAlchemy 的文档,但可以找到任何有用的内容。
从你所说的基本上来说,你的子进程(或者准确地说,tracking.py)没有找到该模块。由于重新安装后情况相同,因此最好的办法是检查虚拟环境。 你可以尝试类似的事情
execute = f"source venv/bin/activate && {file}"
subprocess.run(["/bin/bash", "-c", execute], shell=False)
或者只是输出一些环境变量来检查它是否确实在 venv 中运行。