• pycharm自动解决包路径注册,快来看看python本身如何管理包路径


    简介

    • Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。你可以将它理解成脚本语言,大多情况我也是将它作为写脚本工具的一个方式。
    • python 目前存在 python2 和 python3 两个大版本,至于他们的区别我们没必要深究,很多新的特性都是在 python3 中引入的,另外 python2 已经停止维护了,所以该选择谁你应该清楚了。

    模块化

    • 我们在学习一门语言的时候可以将所有的 demo 放在同一个文件夹,这样方便相互查找,但是在企业级的项目中往往会出现很多功能,正常会根据功能进行分包管理,在大的项目中更有可能分模块管理,不管是分包还是分模块都需要注意一个问题就是如何引用的问题, python 会默认在当前脚本所在文件夹下寻找所需模块,如果当前没有会去其他系统管理模块的地方进行寻找,很明显我们自己的分包分模块的自然不会被找到,这就需要我们进行相应的处理。

    • 不仅仅是 python 语言中, 模块这个概念是凌驾于语言之上,大体上应该分为三类

      • 内置模块 , 在 python中我们可以通过 help('modules') 来查看所有的内置模块

    -   第三方模块 , 就是别人封装的工具 ,python中可以通过 `pip install` , Java中通过 Maven管理安装。
    -   剩下的就是我们自定义模块了,不是所有牛奶都是特仑苏,也不是所有人封装的都叫做第三方模块,我们个人的封装局限很大仅使用我们自己的项目。
    复制代码

    模块导入

    • 模块导入也很方便,除了第三方模块我们需要 通过包管理工具安装一下才能导入,其他模块我们都可以直接导入。

      import module_a
      from module_b import module_b_child
      import module_c as tom_util
      from module_tom import *
      

    • 现在项目中存在两个目录分别为 core 、 user , core 目录中存在的 token_util.py 是我们获取 web 开发中登录 token的, 而 user 目录下则是管理用户的脚本,这个时候 user_util.py 依赖与 token_util.py ,那么我们就需要 import token_util 。

    • 果不其然出现了经典的 No module named 'token_util' , 上面我已经说了他只会去寻找默认当前路径和系统模块路径的,更换项目结构是不可能的,那么我们该如何引入 token_util 呢 ?
     import sys
     print(sys.path)
     sys.path.append('../core')
     import token_util
    复制代码
    • 通过 sys 模块将 module 模块管理路径打印就能发现只有全局的和当前路径,我们可以将我们需要引入的包的路径注册到模块管理路径中,这样我们就可以引用了。

    __init__.py
    
     import os
     import sys
     base_dir=os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.pa
     th.dirname(os.path.abspath(__file__)))))) # 取到路
     径/Users/alex/Documents/work/PyProjects/py8days_camp
     print(base_dir)
     sys.path.append(base_dir) # 添加到sys.path⾥
    复制代码
    • 如果你还是觉得麻烦,不用担心 pycharm 会帮助我们解决这个问题,我们通过 pycharm 打开项目时会自动将项目的跟路径注册到系统路径中。就像Idea 打开Java项目自动会管理 Package 空间一样,
  • 相关阅读:
    可以群发消息的微信营销软件
    .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
    第十八章 Nacos注册中心详解-入门案例
    CH34X linux驱动安装,参考代码例程
    配置命令别名
    基于KECA-IGWO-KELM的间歇过程故障诊断方法
    数据结构(10)图的概念、存储
    十年架构师带来的Spring源码解析,极度深寒,程序员修炼内功必备
    day01_基础
    字节跳动企业软件:用日活评判企业软件,跟95后打行业
  • 原文地址:https://blog.csdn.net/m0_59485658/article/details/126712267