前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >import啥意思_import怎么导入

import啥意思_import怎么导入

作者头像
全栈程序员站长
发布2022-09-16 11:55:37
3.6K0
发布2022-09-16 11:55:37
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

前言

我们在开发项目时经常会进行导包有import *格式的,还有from * import *格式的,最后就会显示的很乱,那么有没有什么工具能对导包进行一键排序呢?答案是有的,使用isort工具

isort介绍

isort 是一个 Python 实用库,用于按字母顺序对imports导入进行排序,并自动分为部分和类型。它为各种编辑器提供命令行实用程序、Python库和插件,以快速对所有导入进行排序。它需要 Python 3.6+ 才能运行,但也支持格式化 Python 2 代码。

作用展示

下面有一段比较混乱的代码如下:

代码语言:javascript
复制
from my_lib import Object

import os

from my_lib import Object3

from my_lib import Object2

import sys

from third_party import lib15, lib1, lib2, lib3, lib4, lib5, lib6, lib7, lib8, lib9, lib10, lib11, lib12, lib13, lib14

import sys

from __future__ import absolute_import

from third_party import lib3

print("Hey")
print("yo")

使用isort排序后

代码语言:javascript
复制
from __future__ import absolute_import

import os
import sys

from third_party import (lib1, lib2, lib3, lib4, lib5, lib6, lib7, lib8,
                         lib9, lib10, lib11, lib12, lib13, lib14, lib15)

from my_lib import Object, Object2, Object3

print("Hey")
print("yo")

安装命令

最普通的方式

代码语言:javascript
复制
pip install isort

安装支持requirements.txt的方式

代码语言:javascript
复制
pip install isort[requirements_deprecated_finder]

安装支持Pipfile的方式

代码语言:javascript
复制
pip install isort[pipfile_deprecated_finder]

安装支持以上2种根式的方式

代码语言:javascript
复制
pip install isort[requirements_deprecated_finder,pipfile_deprecated_finder]

使用poetry的安装方式

代码语言:javascript
复制
poetry add isort

配置信息

isort有许多配置信息,这里我们围绕与black包(代码格式化的第三方包)的配合

Black Compatibility

大多数情况下isort都是与black配合使用,我们只需将isort配置中的profile设置为black 对于正式使用isortblack的项目,建议在项目存储库根目录下的配置文件中设置black配置文件。这样,它独立于用户如何调用isort(预提交、CLI或编辑器集成),black配置文件将自动应用。 例如,您的pyproject.toml文件如下所示

代码语言:javascript
复制
[tool.isort]
profile = "black"

Config Files

isort支持各种标准配置格式,以允许将自定义快速集成到任何项目中。 pyproject.toml [preferred format]

代码语言:javascript
复制
[tool.isort]
profile = "hug"
src_paths = ["isort", "test"]

实战项目配置

演示项目以poetry配置为例子

1.使用poetry安装

代码语言:javascript
复制
poetry add isort

2.在pyproject.toml中添加如下配置

代码语言:javascript
复制
[tool.isort]
profile = "black"
skip = ["migrations"]

因为是使用Django框架,所以我们需要跳过migrations目录

3.将 isort 配置为 PyCharmexternal 工具,以便在代码开发时随时格式化导入排序 过程有2步, 1.配置File Watchers,为了每个文件保存时运行isort 2.配置external tools

  • 确保已安装File Watchers插件
  • 打开Preferences or Settings -> Tools -> File Watchers,点击+按钮,创建一个新的watcher Name: isort File Type: Python Scope: Project Files Program: FilePath Output paths to refresh: FilePath Working directory: ProjectFileDir In Advanced Options 取消勾选 “Auto-save edited files to trigger the watcher” 取消勾选 “Trigger the watcher on external changes”
import啥意思_import怎么导入
import啥意思_import怎么导入
  • 打开Preferences or Settings -> Tools -> External Tools,点击+按钮,创建一个新的tools Name: isort Description: Sort imports in current file Program: FilePath Working directory: ProjectFileDir In Advanced Options: 按钮全部勾选
import啥意思_import怎么导入
import啥意思_import怎么导入

接下来我们查看演示效果

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/165697.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • isort介绍
    • 作用展示
    • 安装命令
    • 配置信息
      • Black Compatibility
        • Config Files
        • 实战项目配置
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档