【问题标题】:Test python cli wheel package during local development本地开发时测试python cli轮包
【发布时间】:2021-02-25 01:03:57
【问题描述】:

我正在使用docopt 在python 中开发一个CLI 工具,并通过wheels 进行打包。

我可以使用以下内容在本地构建和安装 wheel 包:

python setup.py sdist bdist_wheel
pip install dist/mypackage.whl

然后我可以从命令行测试我的包

mypackage --v

这很好用,但没有提供非常实用的开发/测试循环。为了查看我需要卸载软件包的任何更改,重新构建并重新安装它。

有没有更实用的方法可以在开发过程中轻松地在本地测试和运行更改?

【问题讨论】:

  • 虽然这可能有点矫枉过正,但你可以尝试使用 Docker
  • 我不认为 docker 是一个解决方案。我不需要虚拟化任何东西或在容器中运行我的包。我需要自动编译我的代码更改并可以在 CLI(或类似)中进行测试
  • 我明白了。您可能需要像nodemon 这样的东西,它可以在某种程度上与python 一起使用(或者至少,这是文档所说的)。由于据我所知没有对应的 python,我的建议是使用 Docker 构建一个干净的环境来测试你的包
  • 谢谢,但我认为这仍然是错误的方向,没有必要。我需要的是能够安装 python 包但指向我的源代码,这样当包运行时,得到解释的是我的源代码。

标签: python command-line-interface python-wheel docopt


【解决方案1】:

如果没有更好的解决方案,我只是将卸载、构建和安装组合到一个 make 任务中:

reload:
    pip uninstall -y mypkg && python setup.py sdist bdist_wheel && pip install dist/mypkg.whl

现在只需运行make reload 即可实现我的需要。

【讨论】:

    【解决方案2】:

    并通过使用 pip install --editable . 在你的开发文件夹中?

    您将以可编辑模式安装您的包,并继续开发而无需重新安装所有。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-12
      • 2010-09-12
      • 1970-01-01
      • 2021-10-29
      • 2022-06-26
      • 2016-10-26
      • 2018-10-29
      • 2019-02-14
      相关资源
      最近更新 更多