无法从需要 SUDO 执行的 python 文件导入 mongoengine

cannot import mongoengine from a python file which require SUDO to execute

我想将 mongoengine 导入到需要 sudo 才能执行的 python 文件中,但出现以下错误 ModuleNotFoundError: No module named 'mongoengine'。我尝试了以下方法:
1/ 在终端我已经打开 python shell 并写入 pip show mongoengine 并且它可以检测版本和位置这意味着库已正确安装。
2/ 我试图通过删除 sudo required part 来 运行 代码,然后代码也已执行。
使用 sudo python3 pyfile_name.py 导致问题的重点是什么。
我在 Flaks 环境中使用它。下面我给出示例代码。

mongo_data.py


from mongoengine import *
from random import random, randint

connect(
    db='db_name',
    host='localhost',
    port=27017
)

class Mongo_User(Document):
    user_id = SequenceField(primary_key=True)
    json_data = DictField()
    meta = {'collection': "col_name"}

app.py

from flask import Flask, render_template, request, Response
from flask import jsonify
from mongo_data import *

app = Flask(__name__)
app.static_folder = os.path.abspath("templates/static/")

@app.route('/get_json_for_form')
def parse_get_json_for_form(name=None):
    user = Mongo_User()
    json_data = {"name":"xyz"} # sample data
    user.json_data = json_data
    user.save()
    return jsonify(json_data)

在我的例子中,app.py 必须是 运行 和 sudo python3 app.py,我猜这是导致问题的原因。任何解决这个问题的想法都非常值得赞赏。

通过关注 this comment 得到了答案。刚刚用过

sudo -E python3 app.py

另一种方法也找到了但不推荐

sudo python3 -m pip install mongoengine