我正在尝试将以下 SASS 变量导出到我的 Vue 项目中的 Javascript 中。
_export.sass
:export
colorvariable: blue
othercolorvariable: red
Run Code Online (Sandbox Code Playgroud)
我将这篇文章中的回复作为模板。但是,当我尝试在下面导入我的 sass 文件时...
About.vue
<script>
import styles from "@/styles/_export.sass";
export default {
name: "About",
data() {
return { styles };
}
};
</script>
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
WAIT Compiling... 2:17:03 AM
98% after emitting CopyPlugin
ERROR Failed to compile with 1 errors 2:17:03 AM
error in ./src/styles/_export.sass
Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
SassError: Invalid CSS after '...les/main.sass";': expected 1 selector or at-rule, was "export: {"
on line 1 …Run Code Online (Sandbox Code Playgroud) 我试图弄清楚何时使用 SQLAlchemysession.add以及何时与 SQLAlchemy 一起使用session.add_all。
具体来说,我不明白使用add_all. 它可以做所有add能做的事情,那么为什么不总是使用它呢?SQLalchemy文档中没有提及这一点。
我想命名 a 中的线程multiprocessing.dummy.Pool,以便当我threading.enumerate()从主线程调用时可以查看它们的所有名称。pool.apply_async当我调用能够命名线程时,是否可以应用关键字?我宁愿在创建时命名它们,而不是在tester函数内部命名,只是为了简洁。
例如,如果我有下面的示例代码:
import multiprocessing.dummy
from time import sleep
import threading
def tester():
sleep(2)
print("running \n")
def run_conc(number_of_threads, fxn):
pool = multiprocessing.dummy.Pool(processes=number_of_threads)
for thread in range(number_of_threads):
pool.apply_async(tester)
print(threading.enumerate(), "\n")
pool.close()
pool.join()
run_conc(3, tester)
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我收到输出:
[<_MainThread(MainThread, started 140735632434048)>, <Thread(SockThread, started daemon 123145521917952)>, <DummyProcess(Thread-1, started daemon 123145527246848)>, <DummyProcess(Thread-2, started daemon 123145532502016)>, <DummyProcess(Thread-3, started daemon 123145537757184)>, <Thread(Thread-4, started daemon 123145543012352)>, <Thread(Thread-5, started daemon 123145548267520)>, <Thread(Thread-6, started daemon 123145553522688)>]
running
running
running
Run Code Online (Sandbox Code Playgroud)
我希望能够命名该线程列表中的 3 个虚拟线程,以便我可以识别哪个是哪个。或者也许有一种方法可以从内部做到这一点 …
我正在test_dag.py我的 Google Cloud Storage Bucket 中运行一个 DAG,其结构如下。
gcs-bucket/
dags/
test_dag.py
dependencies/
__init__.py
dependency_1.py
module1/
__init__.py
dependency_2.py
Run Code Online (Sandbox Code Playgroud)
Airflow 检测到 DAG, test_dag.py,它尝试从 导入depencies/dependency_1.py,(导入成功)并dependencies/module1/dependency_2.py给出错误Broken DAG: [/home/airflow/gcs/dags/test_dag.py] module 'dependencies' has no attribute 'module1'。
导致此问题的线路是from dependencies.module1 import dependency_2.
这似乎向我表明 Cloud Composer 无法从 中的子目录导入,并且当我在此处dependencies/查看它们的依赖项文档时,他们给出的示例仅是下一级目录(并且只有 1 个文件,而不是完整的文件) python 包)。/dags
不过,这是一个奇怪的部分——当我在 Airflow 本地(而不是在 Cloud Composer 上)运行它时,它运行成功。因此,我不知道为什么我的导入可以在本地运行,但不能在 Cloud Composer 上运行。
我还尝试从我的__init__.py文件中导入所有内容,这给了我相同的属性错误,并将我的依赖项上移到gcs-bucket/似乎根本找不到它们的位置。
当我__file__用 DAG/home/airflow/gcs/dags/test_dag.py打印时sys.path …
我正在使用一个包含 60 多个表的数据库,我正在尝试编写一个 python 函数,该函数接受您希望使用的表,并输出您应该用来连接这些表的连接语句。我已将所有 60 个表放入一个有序字典中,如下所示,其中列出了每个表中的表名称、主键和外键。
OrderedDict({
'table1_name':{'pk':'id', 'fk':{'table2_name':'table2_id', 'table3_name':'table3_id'}}
'table2_name':{'pk':'id'},
'table3_name':{'pk':'id', 'fk':{'table1_name':'table1_id'}
}) #Etc...
Run Code Online (Sandbox Code Playgroud)
我开始编写一个函数,但收效甚微,因为外键相互交织,使得从一个表遍历到另一个表并找到最短路径变得非常复杂。我尝试编写一个函数来执行此操作,如下所示:
def join_creator(main_table, *tables):
#Test if we can join other tables directly to main
try:
main_table
main_pk = table_dict[main_table]["pk"]
except:
print('No primary key, this cannot be your main table')
return
result = f'FROM "public"."{main_table}" \n'
for table in other_tables:
try:
fk = table_dict[table]['fk'][main_table]
result += f'LEFT JOIN "public"."{table}" ON {main_table}.{main_pk}={table}.{fk}\n'
except KeyError:
pass
print(result)
Run Code Online (Sandbox Code Playgroud)
总而言之,该函数的输入类似于
join_creator('table_1', 'table_2', 'table_3')
输出将是一个像这样的字符串:
FROM table_1
LEFT JOIN table_2 …Run Code Online (Sandbox Code Playgroud) 我正在遍历结果 pd.read_sql(query, engine, chunksize=10000)
我在engine(sqlalchemy) 设置为的echo=True情况下执行此操作,以便它打印出 Pandas 正在使用的 db (postgres) 的原始 sql 命令。
打印输出显示 Pandas 只使用我写的查询访问数据库一次,没有任何修改。考虑到这一点,Pandas 如何以块的形式遍历该查询的完整输出,同时又不将所有块一次存储在内存中?
我正在 Google Cloud Composer(托管 Airflow)中运行 DAG,它在本地 Airflow 中运行良好。它所做的只是打印“Hello World”。但是,当我通过 Cloud Composer 运行它时,我收到错误:
*** Log file does not exist: /home/airflow/gcs/logs/matts_custom_dag/main_test/2020-04-20T23:46:53.652833+00:00/2.log
*** Fetching from: http://airflow-worker-d775d7cdd-tmzj9:8793/log/matts_custom_dag/main_test/2020-04-20T23:46:53.652833+00:00/2.log
*** Failed to fetch log file from worker. HTTPConnectionPool(host='airflow-worker-d775d7cdd-tmzj9', port=8793): Max retries exceeded with url: /log/matts_custom_dag/main_test/2020-04-20T23:46:53.652833+00:00/2.log (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f8825920160>: Failed to establish a new connection: [Errno -2] Name or service not known',))
Run Code Online (Sandbox Code Playgroud)
我还尝试过让 DAG 将数据添加到数据库中,实际上成功率是 50%。但是,它始终返回此错误消息(并且不返回其他打印语句或日志)。对于为什么会发生这种情况,任何帮助都非常感激。
当我运行时docker-compose up,Docker将运行以下四个容器。他们运行完全成功。
[+] Running 4/4\n \xe2\xa0\xbf Container redis_1 Started 5.6s\n \xe2\xa0\xbf Container postgres_1 Started 4.6s\n \xe2\xa0\xbf Container celery_1 Started 8.2s\n \xe2\xa0\xbf Container flask_1 Started 12.3s\nRun Code Online (Sandbox Code Playgroud)\n但是,由于flask_1依赖于其他三个容器,因此它最后启动该容器。
这样做的问题是,flask_1启动之前出现的前三个容器的初始控制台输出不会出现。
我看到的输出是
\n[+] Running 4/4\n \xe2\xa0\xbf Container redis_1 Started 5.1s\n \xe2\xa0\xbf Container postgres_1 Started 3.8s\n \xe2\xa0\xbf Container celery_1 Started 7.7s\n \xe2\xa0\xbf Container flask_1 Started 11.3s\nAttaching to celery_1, flask_1, postgres_1, redis_1\nflask_1 | * Serving Flask app "run.py" (lazy loading)\nflask_1 | * Environment: development\nflask_1 | …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Fabric 模块通过以太网通过 SSH 连接到子网上的 Raspberry Pi,但我不知道如何验证连接。
到目前为止我的代码如下
import fabric
c = fabric.Connection(host = "192.168.3.151", port = 22, user = "pi")
c.run("touch Desktop/new_file.txt")
Run Code Online (Sandbox Code Playgroud)
显然我没有在上面的代码中的任何地方输入我的密码“Raspberry”来验证 SSH 连接。我一直在尝试理解 Fabric 文档,但它有点超出我的范围,所以我希望有人能告诉我如何输入密码来验证连接(以及使用 验证任何命令sudo)。
谢谢!
I'm working on an app with Vue frontend and Flask backend.
I am writing my forms in Vue but I'm trying to use FlaskWTF for CSRF/XSRF security and for form validation on the back-end.
I've wrapped my app in CSRFProtect() as they say to do in the FlaskWTF docs, if using AJAX.
from flask_wtf.csrf import CSRFProtect
app = build_app()
csrf = CSRFProtect(app)
Run Code Online (Sandbox Code Playgroud)
But I'm stuck on how to send over the CSRF token in a form that is readable …
我的 HTML/CSS 项目顶部有这个奇怪的空白,我无法摆脱。我如何摆脱空白?它甚至可以在不使用normalize.css文件的情况下看到,尽管我已经将边距和填充设置为 0,normalize.css所以这不是问题。我在这里做了一个 JSsnippet可能更容易理解。
* {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
box-sizing: border-box;
}
Run Code Online (Sandbox Code Playgroud)
这是我项目的 HTML/CSS 代码:
HTML:
<!DOCTYPE html>
<html>
<head>
<title>SuperMegaAwesome Landing Page | Matt Bell</title>
<link rel="stylesheet" type="text/css" href="./Stylesheets/CSS/main.css">
<link rel="stylesheet" type="text/css" href="./Stylesheets/CSS/normalize.css">
</head>
<body>
<header>
<p id="logo">Super<span>Mega</span>Awesome</p>
<nav>
<a href="#">Home</a>
<a href="#">Portfolio</a>
<a href="#">Services</a>
<a href="#">Get in touch</a>
</nav>
</header>
<section id="hero">
<div id="hero_overlay">
<div class="wrapper">
<div id="content">
<h1 class="title">We …Run Code Online (Sandbox Code Playgroud) 我收到 Typescript 警告:'isAuthenticated' is assigned a value but never used对于下面的组件

但是,我isAuthenticated在我的组件中使用如下所示。
import { useAuth0 } from '@auth0/auth0-react'
const Profile: React.FC = () => {
const { user, isAuthenticated, isLoading } = useAuth0()
if (isLoading) {
return <div>Loading ...</div>
}
return (
<>
isAuthenticated && (
<div>
<img src={user?.picture} alt={user?.name} />
<h2>{user?.name}</h2>
<p>{user?.email}</p>
</div>
)
</>
)
}
export default Profile
Run Code Online (Sandbox Code Playgroud)
为什么当我使用该变量时会收到此警告?
我正在尝试将用户添加到我的 Dropbox 应用的开发用户中。为此,我似乎必须连接到端点/token/from_oauth1或/和/oauth2/token生成它们的访问令牌。我是使用 API 的新手,并且正在努力理解如何在我的代码中实现 OAuth/OAuth2。我正在使用requests图书馆这样做。
这是我尝试过但对我不起作用的示例:
import requests
import json
url = "https://api.dropboxapi.com/2/auth/token/from_oauth1"
headers = {
"Authorization": "Basic <APP_KEY>:<APP_SECRET>",
"Content-Type": "application/json"
}
data = {
"oauth1_token": "<DROPBOX_USERNAME>",
"oauth1_token_secret": "<DROPBOX_PASSWORD>"
}
r = requests.post(url, headers=headers, data=json.dumps(data))
Run Code Online (Sandbox Code Playgroud)
但我收到错误 b'Error in call to API function "auth/token/from_oauth1": Invalid value in HTTP header "Authorization": "Basic <APP_KEY>:<APP_SECRET>"'
APP_KEY并且APP_SECRET显然替换为其相应的字符串。
我打电话/token/from_oauth1而不是/oauth2/token. 如果是这样,这个请求我哪里出错了?
python ×9
airflow ×2
javascript ×2
sqlalchemy ×2
vue.js ×2
algorithm ×1
css ×1
docker ×1
dropbox-api ×1
fabric ×1
flask ×1
html ×1
oauth ×1
oauth-2.0 ×1
pandas ×1
paramiko ×1
postgresql ×1
raspberry-pi ×1
reactjs ×1
sass ×1
sql ×1
ssh ×1
typescript ×1
webpack ×1