You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何更高效地使用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重新加载包:
    # pkgfoo/dev/dev.py
    
    import pkgfoo
    from importlib import reload
    reload(pkgfoo)
    
    # 这个功能正常吗?
    pf.bar.baz()
    
    但遗憾的是,这似乎无法使上次重启REPL后对包代码的修改生效。
  • 我考虑过创建快捷键来重启Python并导入我的包,但不知道如何设置才能满足:
    • 适用于任何具有包结构的项目,而不仅仅是pkgfoo
    • 如果Python REPL已在运行,先执行quit()

内容的提问来源于stack exchange,提问作者wurli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 14:12:40