我正在尝试将Flask-SQLAlchemy模型分成单独的文件.当我试着奔跑时,db.create_all()
我得到了No application found. Either work inside a view function or push an application context.
shared/db.py
:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
Run Code Online (Sandbox Code Playgroud)
app.py
:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from shared.db import db
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'My connection string'
db.init_app(app)
Run Code Online (Sandbox Code Playgroud)
user.py
:
from shared.db import db
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
email_address = db.Column(db.String(300), unique=True, nullable=False)
password = db.Column(db.Text, nullable=False)
Run Code Online (Sandbox Code Playgroud) 我在我的 C++ 项目中使用doctest进行测试。
我想将测试代码与我的实现放在一起,正如库所说是可能的,但我似乎不知道如何处理 doctest 实现代码。
我有一个doctest.cpp
如下所示的文件:
#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
#include "doctest.h"
Run Code Online (Sandbox Code Playgroud)
Amain.cpp
看起来像这样:
#include "thing.h"
int main(int argc, const char *argv[]) {
do_thing();
}
Run Code Online (Sandbox Code Playgroud)
thing.h
是不言自明的,但thing.cpp
看起来像这样:
do_thing() {}
TEST_CASE("Test thing") {
CHECK(1 == 1);
}
Run Code Online (Sandbox Code Playgroud)
CMake 用于创建两个可执行文件,一个Tests
可执行文件和一个Main
可执行文件。
如果我不包含doctest.cpp
在我的项目源中Main
,我会收到未定义的引用错误,因为它无法在 doctest.txt 中找到所有测试内容的定义。
但是,如果我确实包含它,我会收到错误,因为一个目标中有多个main()
函数。
我在 doctest 文档中找不到任何相关信息。
你打算如何解决这个问题?
我正在训练一个 DQN 来玩 OpenAI 的 Atari 环境,但是我的网络的 Q 值很快就远远超出了实际值。
这是代码的相关部分:
for state, action, reward, next_state, done in minibatch:
if not done:
# To save on memory, next_state is just one frame
# So we have to add it to the current state to get the actual input for the network
next_4_states = np.array(state)
next_4_states = np.roll(next_4_states, 1, axis=3)
next_4_states[:, :, :, 0] = next_state
target = reward + self.gamma * \
np.amax(self.target_model.predict(next_4_states))
else:
target = reward
target_f = self.target_model.predict(state)
target_f[0][action] …
Run Code Online (Sandbox Code Playgroud)