如何用import导入一个包_import怎么导入

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

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

isort介绍

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

作用展示

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

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排序后

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")

 

安装命令

最普通的方式

pip install isort

安装支持requirements.txt的方式

pip install isort[requirements_deprecated_finder]

安装支持Pipfile的方式

pip install isort[pipfile_deprecated_finder]

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

pip install isort[requirements_deprecated_finder,pipfile_deprecated_finder]

使用poetry的安装方式

poetry add isort

 

配置信息

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

Black Compatibility

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

[tool.isort]
profile = "black"

 

Config Files

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

[tool.isort]
profile = "hug"
src_paths = ["isort", "test"]

 

实战项目配置

演示项目以poetry配置为例子
 

1.使用poetry安装

poetry add isort

 

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

[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: $PyInterpreterDirectory$/isort 注意:此示例使用的虚拟环境,如果你没有使用虚拟环境,可通过which isort查找到路径并填写真实的路径
    • Arguments: –profile black $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怎么导入

  • 打开Preferences or Settings -> Tools -> External Tools,点击+按钮,创建一个新的tools
    • Name: isort
    • Description: Sort imports in current file
    • Program: $PyInterpreterDirectory$/isort 注意:此示例使用的虚拟环境,如果你没有使用虚拟环境,可通过which isort查找到路径并填写真实的路径
    • Arguments: –profile black $FilePath$
    • Working directory: $ProjectFileDir$
    • In Advanced Options: 按钮全部勾选

如何用import导入一个包_import怎么导入

接下来我们查看演示效果
如何用import导入一个包_import怎么导入

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166057.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • F分布的概率密度函数_F分布的统计量是

    F分布的概率密度函数_F分布的统计量是定义:设X1∼χ2(m),X2∼χ2(n)X_{1}\sim\chi^{2}(m),X_{2}\sim\chi^{2}(n)X1​∼χ2(m),X2​∼χ2(n),X1X_{1}X1​与X2X_{2}X2​相互独立,则称随机变量F=X1/mX2/nF=\frac{X_{1}/m}{X_{2}/n}F=X2​/nX1​/m​服从自由度为mmm及nnn的FFF分布,mmm称为第一自由度,n\boldsymbol{n}n称为第二自由

    2022年10月10日
  • 电商后台管理系统(一)

    电商后台管理系统(一)后台管理系统git地址:https://gitee.com/kk23851一.项目大体架构二.用户登录用户登录页面思路:用Element表单验证完成以后,把数据存储到本地用户登录代码位置如图:三.用户管理用户列表页面绘制用户列表基本结构,请求用户列表数据,将用户列表数据展示,实现用户列表分页,实现搜索功能,实现添加用户,修改用户信息,删除用户,分配权限用户管理代码位置如图:四.权限管理权限管理有俩个板块分别是角色列表和权限列表,用到的技术无非就是element-ui,所

  • 【高级开发必掌握SQL】SQL优化篇「建议收藏」

    【高级开发必掌握SQL】SQL优化篇「建议收藏」SQL优化

  • oracle与mysql分页的区别_分段存储和分页存储的区别

    oracle与mysql分页的区别_分段存储和分页存储的区别oracle与MySQL分页区别(1)MySql的Limitm,n语句Limit后的两个参数中,参数m是起始下标,它从0开始;参数n是返回的记录数。(2)Oracle数据库的rownum在Oracle数据库中,分页方式没有MySql这样简单,它需要依靠rownum来实现。Rownum表示一条记录的行号,值得注意的是它在获取每一行后才赋予。因此,想指定rownum的区间来取得分页数据在一层查询语句中是无法做到的,要分页还要进行一次查询。两种sql写法:SELECT*FROM(SEL

  • MFCC算法讲解及实现(matlab)[通俗易懂]

    MFCC算法讲解及实现(matlab)[通俗易懂]史上最详细的MFCC算法实现(附测试数据)1.matlab安装voicebox语音包2.MFCC原理讲解3.MFCC算法设计实现(matlab)3.1.wav格式语音文件提取【x(200000*1)】3.2预加重【x(200000*1)】3.3分帧{S(301*1103)}3.4加窗{C(301*1103)}3.5傅里叶变换3.6梅尔滤波器3.7离散余弦变换4.1.matlab安装…

  • datagrip 激活码_在线激活

    (datagrip 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号