小编Tho*_*ger的帖子

VSCode 无法从虚拟环境正确运行 pytest

我刚刚发现 vscode 能够直接从编辑器中运行 pytest。那真是太棒了——如果它有用的话。

目前我正在虚拟环境中处理一个项目,该项目已在 vscode 中正确配置(并已激活)。pytest安装在虚拟环境中并激活,我写的测试按预期发现。但是每当我运行测试时,它都会说它找不到我当前正在处理的模块,并且ModuleNotFoundError会引发 a 。

我已经安装了这个模块pip install -e .。在 vscode 之外的普通终端控制台上运行相同的测试工作正常。

如果仅为工作区和/或用户启用 pytest,则没有区别。

示例代码:

def test_something():
   from mymodule.config import Config
   ...
Run Code Online (Sandbox Code Playgroud)

输出:

E       ModuleNotFoundError: No module named 'mymodule'
Run Code Online (Sandbox Code Playgroud)

点样本输出:

mymodule               0.1.0     /path/to/mymodule
Run Code Online (Sandbox Code Playgroud)

Stange 也是,vscode 使用所有已安装的插件(即 pytest-datafiles)运行正确的 pytest 脚本(它不是全局安装的,仅在此环境中安装)。

任何想法为什么?

问候, 托马斯

python pytest visual-studio-code

3
推荐指数
1
解决办法
886
查看次数

IIS下运行FastAPI

目前,我有一个简单的 API,在某个内部 IIS 站点的子目录下与 Flask 一起运行。现在我认为使用 FastAPI 重写该 API 可能是个好主意。在 IIS 上运行 API 并不是一件难事,您必须web.config在 IIS 配置中创建一些内容。我知道这是使用 WSGI,但是也有可能使用 ASGI(也许与 uvicorn 和 Gunicorn 结合使用)?

重要的一件事是它必须在某个子目录下运行,称之为<iis_internal_company_server>/myapi。在 Flask 中,我包含了一个众所周知的前缀中间件,它可以按预期工作。我正在寻找类似的 FastAPI,这是否可以使用app.include_router(router, prefix='/myapi')

做了一些研究但没有找到解决方案。也许你们中的一个人对此有一些经验。如果有,请分享。提前谢谢了。

问候,托马斯

python iis wsgi asgi fastapi

3
推荐指数
1
解决办法
8229
查看次数

标签 统计

python ×2

asgi ×1

fastapi ×1

iis ×1

pytest ×1

visual-studio-code ×1

wsgi ×1