如何在应用程序之间共享python类而不安装它?
我有一个flask应用程序,它通过封装DB访问的类访问DB。我需要在flask应用程序之外使用这个类,用于访问相同db的一些常规作业如何在应用程序之间共享python类而不安装它?,python,import,Python,Import,我有一个flask应用程序,它通过封装DB访问的类访问DB。我需要在flask应用程序之外使用这个类,用于访问相同db的一些常规作业 /databases/database.db /website/application/myblueprint/views.py /website/application/myblueprint/db_class.py /scripts/log_reading.py views.py和log_reading.py都需要使用db_class.py,但不能从自己的包
/databases/database.db
/website/application/myblueprint/views.py
/website/application/myblueprint/db_class.py
/scripts/log_reading.py
views.py和log_reading.py都需要使用db_class.py,但不能从自己的包上方导入
我没有为DB使用flask模型,但我认为这不会解决我的问题。如果你想使用DB或会话,那么你必须创建应用程序上下文,在应用程序上下文之外你不能使用它
from flask import Flask
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
import os
APP_SETTINGS = os.getenv("APP_SETTINGS", "your config path")
def _create_db_session(self, connection_string):
engine = create_engine(connection_string)
session_factory = sessionmaker(bind=self.engine)
session = scoped_session(session_factory)
return session
app = Flask(__name__)
app.config.from_object(APP_SETTINGS)
db_url = app.config.get("SQLALCHEMY_DATABASE_URI")
session =_create_db_session(db_url)
#then you can use
# session.query to query database
# session.commit(), session.remove()
# same operations you do normally with DB session
这不是我的问题。在flask应用程序中,我可以访问我的数据库,无论有没有型号。如果我想在两个python应用程序之间共享封装dB访问的类,而不必经常在venvs上安装该应用程序,我该怎么做?