我正在尝试使用左侧栏上的测试活动在 VS Code 中调试我的 Python Pytest 测试。我能够按预期运行测试,有些通过,有些失败。我想调试失败的测试,以更准确地确定导致失败的原因。
当我在调试模式下运行单个测试时,VS Code 正确命中断点并停止,并且“运行和调试”窗格显示局部变量。我可以在“变量”>“本地”窗格中或通过 REPL 通过键入变量名称来观察局部变量的状态。
当我尝试打印任何语句(例如使用)时,> print("here")调试控制台没有得到任何输出。当我引用变量或直接使用字符串时,> "here"我确实看到了调试控制台的输出。
在我看来,我的 REPL 的标准输出没有显示到调试控制台。网上的许多答案都建议添加诸如"redirectOutput": true或 之类的选项"console": "integratedTerminal",但这些似乎都不起作用。我的完整内容launch.json如下:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit"
],
"console": "integratedTerminal",
"stopOnEntry": false,
"redirectOutput": true, …Run Code Online (Sandbox Code Playgroud) 我在容器内有一个烧瓶应用程序。我运行这个容器
docker run -p 5000:5000 pyprojects_web
Run Code Online (Sandbox Code Playgroud)
它回复
* Serving Flask app "debateit.py"
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Run Code Online (Sandbox Code Playgroud)
如果我跑
docker container ls
Run Code Online (Sandbox Code Playgroud)
我得到
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2221298e6e2c pyprojects_web "flask run" 12 minutes ago Up 12 minutes 0.0.0.0:5000->5000/tcp elated_joliot
Run Code Online (Sandbox Code Playgroud)
如果我访问http://127.0.0.1:5000我得到:
This site can’t be reached
The web page …Run Code Online (Sandbox Code Playgroud) 给定一个使用build.sbt文件的项目,我希望有一个TestUtils.scala集成和单元测试都依赖的通用文件。
我的 src 文件夹位于src/scala,集成测试文件夹位于it/scala。我的单元测试文件夹位于test/scala,并且包含公共TestsUtils.scala文件。
目前我正在 Intellij 中通过 ScalaTest 运行我的测试。当我以这种方式运行它时,Intellij 能够确定集成测试文件夹对单元测试文件夹的依赖关系。我正在尝试切换到使用一test组it:testSBTunit:test任务。当我这样做时,集成测试文件夹无法编译,因为它找不到通用TestUtils.scala文件。如果我将TestUtils.scala文件复制到集成测试文件夹,那么它会编译,但我不想在两个位置有相同的代码。
以下是我看到的解决此问题的方法:
src文件夹中(引入我希望避免的依赖src)scalatestintegration文件夹使用文件夹中的文件test(不知道该怎么做)理想情况下,我想使用第三种方法,但不知道如何实际实现它。如何让一个文件夹使用另一个文件夹作为 SBT 中的依赖项?有我不知道的更好方法吗?
我们有许多 Python Databricks 作业,它们都使用相同的底层 Wheel 包来安装其依赖项。即使节点已在池中闲置,安装此 Wheel 软件包仍需要 90 秒。
其中一些作业运行时间非常长,因此我们希望使用作业计算机集群来降低 DBU 的成本。
其中一些作业的运行时间要短得多(<10 秒),其中 90 秒的安装时间似乎更重要。我们一直在考虑使用热集群(通用计算)来完成这些较短的作业。如果可能的话,我们希望避免通用计算的额外成本。
阅读 Databricks 文档表明池中的空闲实例是为我们保留的,但不会消耗我们的 DBU。有没有办法让我们在空闲实例上预安装所需的库,以便当作业完成时我们能够立即开始处理它?
是否有替代方法可以满足类似的用例?
我正在尝试将 google OAuth 用于我的网络应用程序。为此,我在我的 venv 和 Docker 构建期间安装了 google-api-python-client 和 google-auth 包(来自 requirements.txt)。尽管如此,当我运行我的应用程序时,它找不到请求模块,抱怨说:
flask.cli.NoAppException: While importing "debateit", an ImportError was raised:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/google/auth/transport/requests.py", line 23, in <module>
import requests
ImportError: No module named 'requests'
Run Code Online (Sandbox Code Playgroud)
导入如下:
from google.auth.transport import requests
Run Code Online (Sandbox Code Playgroud)
并使用如下:
idinfo = id_token.verify_oauth2_token(token, requests.Request(), app.config["GOOGLE_LOGIN_CLIENT_ID"])
Run Code Online (Sandbox Code Playgroud)
其他导入,如 id_token.verify_oauth2_token 工作正常。
我检查了我的 docker build,它说我已经正确地包含了 google-auth:
Installing collected packages: ... google-auth, httplib2, google-auth-httplib2, google-api-python-client
Successfully installed ... google-api-python-client-1.7.3 google-auth-1.5.0 google-auth-httplib2-0.0.3 httplib2-0.11.3 ...
Run Code Online (Sandbox Code Playgroud)
当我查看 venv 时,我可以清楚地看到 google.auth.transport.requests 模块,它只是在应用程序本身中不起作用。
我错过了什么?什么可能导致找不到此模块?
我正在尝试完成2018 年 Rust 书中“留给读者”的练习。他们的示例 10-15 使用了Copytrait。但是,他们建议在没有的情况下实现相同的功能,Copy而我一直在为此苦苦挣扎。
没有Copy,我无法使用largest = list[0]. 编译器建议改用引用。我这样做,largest变成了一个&T. 然后编译器抱怨largest比较中使用的是 a &T, not T,所以我将其更改*largest为取消引用指针。这一切顺利,但随后偶然发现了largest = item,抱怨T而不是&T。我切换到largest = &item. 然后我收到一个我无法处理的错误:
error[E0597]: `item` does not live long enough
--> src/main.rs:6:24
|
6 | largest = &item;
| ^^^^ borrowed value does not live long enough
7 | }
8 | }
| - …Run Code Online (Sandbox Code Playgroud) python ×3
docker ×2
azure ×1
databricks ×1
flask ×1
networking ×1
pool ×1
pytest ×1
rust ×1
sbt ×1
scala ×1
unit-testing ×1
vector ×1