用于 google colab 的代码格式化程序,如 nb_black

Syn*_*rik 47 pep8 google-colaboratory python-black

我知道对于 jupyter notebooks 和 jupyter lab,有可用的代码格式化程序扩展,例如nb_blackblackcellmagic. 但是,当我安装它们时,它似乎不适用于 google colab。

您知道 colab 中是否有任何本机选项或格式化代码的扩展程序(符合 pep8)?

mar*_*lli 13

我认为 Colab 中没有直接的扩展。

不过,你可以做的是下载你的笔记本,运行

pip install -U nbqa
nbqa black notebook.ipynb
Run Code Online (Sandbox Code Playgroud)

然后将您的(现已格式化)笔记本重新上传到 Colab


免责声明:我是nbQA的作者


更新:从版本 21.8b0 开始,black直接在笔记本上运行,无需第三方工具


csa*_*nes 12

我已经尝试了所有方法,截至 2022 年 2 月,JupyterLab/Notebook 后端黑客方法似乎都不起作用。但是,直到稍后,这里有一个相对简单的解决方法:

[仅在启动时运行一次]

  • 连接到您的drive

    from google.colab import drive
    drive.mount("/content/drive")

  • 安装black用于jupyter

    !pip install black[jupyter]

  • 重启内核

[然后]

  • 将文件放在.ipynb驱动器上的某个位置
  • 任何时候你想格式化你的代码运行:
    !black /content/drive/MyDrive/YOUR_PATH/YOUR_NOTEBOOK.ipynb
  • 不要保存您的笔记本,点击F5刷新页面
  • 瞧!
  • 现在保存!


Mac*_*ski 10

截至目前(2023 年 4 月),最重要的答案 -black无需重新启动内核即可工作。

\n

所以

\n
# run once\n!pip install black[jupyter] --quiet\nfrom google.colab import drive\ndrive.mount("/content/drive")\n...\n# run many times\n!black /content/drive/MyDrive/'Colab Notebooks'/'HiringBias.ipynb'\n
Run Code Online (Sandbox Code Playgroud)\n

再加上页面刷新给出

\n
reformatted /content/drive/MyDrive/Colab Notebooks/HiringBias.ipynb\nAll done! \xe2\x9c\xa8  \xe2\x9c\xa8\n1 file reformatted.\n
Run Code Online (Sandbox Code Playgroud)\n

:-)

\n