如何更高效地使用Python REPL进行包开发?
我的当前工作流程
- 在可编辑模式下安装我的包(通常在虚拟环境中):
> python -m pip install -e . - 在
pkgfoo/pkgfoo/bar.py中编写代码:# 示例目录结构 pkgfoo/ ├── dev/ │ └── dev.py ├── pkgfoo/ │ ├── __init__.py │ └── bar.py ├── pyproject.toml └── setup.py - 启动Python REPL并运行测试代码来验证包是否正常工作。这类代码通常存放在
dev文件夹中,之后常被转化为单元测试:> python# pkgfoo/dev/dev.py import pkgfoo as pf # 这个功能正常吗? pf.bar.baz() - 测试完成后,我使用
quit()退出Python,然后从步骤(2)重复整个流程。
我遇到的问题
- 每次测试代码都要重复执行
>>> quit()、> python、>>> import pkgfoo as pf,这非常繁琐,还会损伤手部。 - 每次循环都会丢失之前会话中使用过的Python对象,因此临时测试代码必须简短易运行,否则会拖慢工作流程。
我希望得到能解决这些问题的方案。我并非必须使用VSCode,但如果可以的话更倾向于继续使用它作为编辑器。
我已尝试的方法
- 我尝试不重启Python,而是使用
importlib重新加载包:
但遗憾的是,这似乎无法使上次重启REPL后对包代码的修改生效。# pkgfoo/dev/dev.py import pkgfoo from importlib import reload reload(pkgfoo) # 这个功能正常吗? pf.bar.baz() - 我考虑过创建快捷键来重启Python并导入我的包,但不知道如何设置才能满足:
- 适用于任何具有包结构的项目,而不仅仅是
pkgfoo - 如果Python REPL已在运行,先执行
quit()
- 适用于任何具有包结构的项目,而不仅仅是
内容的提问来源于stack exchange,提问作者wurli
相关产品推荐
相关产品推荐

