python中自定义模块导入路径的方式主要有以下3种:

(1)使用sys.path.append()

  • 随着程序执行,会动态地添加模块导入的路径,但是程序执行结束后就会立即失效(临时性的)

    import sys
    sys.path.append('自定义路径')

(2)加入到环境变量PYTHONPATH

  • 用于当前用户

    • 在用户主目录下有一个 .bashrc 隐藏文件,打开文件

      sudo vim ~/.bashrc
    • 添加单个路径的方法

      export PYTHONPATH=<自定义路径>:$PYTHONPATH
    • 如果要加入多个路径,只需要用冒号':'将多个路径进行隔开

      export PYTHONPATH=<自定义路径1>:<自定义路径2>:...:$PYTHONPATH
    • 保存后,在终端执行以下命令使环境变量立即生效
      source ~/.bashrc
  • 用于所有用户
    • 需要操作的文件为/etc/profile

      sudo vim /etc/profile
    • 添加单个路径
      export PYTHONPATH=<自定义路径>:$PYTHONPATH
    • 添加多个路径
      export PYTHONPATH=<自定义路径1>:<自定义路径2>:...:$PYTHONPATH
    • 使修改生效,终端执行以下命令
      source /etc/profile

(3)使用.pth文件

  • 在已知的库文件目录site-packages中创建.pth文件,按照一行一个路径的方式写入自定义路径。
  • 比如在/usr/local/python3/lib/python3.9/site-packages下创建python.pth文件(具体路径根据个人设置)
    sudo vim /usr/local/python3/lib/python3.9/site-packages/python.pth
  • 在python.pth文件中按行写入自定义路径
    /.../自定义路径1
    /.../自定义路径2
    ...

    Python在遍历已知的库文件目录过程中,如果遇到.pth文件,就会将文件中所记录的路径加入到sys.path中,于是.pth文件中所指明的路径也就可以被Python运行环境所找到。

python中如何添加模块导入路径?的更多相关文章

  1. python如何永久添加模块搜索路径

    win10系统 依次点击:控制面板\系统和安全\系统\高级系统设置\环境变量   找不到的话,直接在设置中搜索  环境变量  也一样 此时上面是用户变量 下面是系统变量   在系统变量中找到PYTHO ...

  2. 善于利用python中的os模块

    作为一个程序猿,平时善于利用python中的os模块进行路径等操作,会省去很多麻烦,下面总结一下我平时经常用到的方法: import os os.getcwd() # 获取当前文件所在的目录 os.p ...

  3. 在Python中使用glob模块查找文件路径的方法

    在Python中使用glob模块查找文件路径的方法 glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用到三个匹配符: ...

  4. Python中的logging模块就这么用

    Python中的logging模块就这么用 1.日志日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICALDEBUG:详细的信息,通常只出现在诊断问题 ...

  5. Python中的logging模块

    http://python.jobbole.com/86887/ 最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stack ...

  6. Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据

    背景 Python中,想要打开已经存在的excel的xls文件,然后在最后新的一行的数据. 折腾过程 1.找到了参考资料: writing to existing workbook using xlw ...

  7. python中的select模块

    介绍: Python中的select模块专注于I/O多路复用,提供了select  poll  epoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kqu ...

  8. Python中的re模块--正则表达式

    Python中的re模块--正则表达式 使用match从字符串开头匹配 以匹配国内手机号为例,通常手机号为11位,以1开头.大概是这样13509094747,(这个号码是我随便写的,请不要拨打),我们 ...

  9. python中的shutil模块

    目录 python中的shutil模块 目录和文件操作 归档操作 python中的shutil模块 shutil模块对文件和文件集合提供了许多高级操作,特别是提供了支持文件复制和删除的函数. 目录和文 ...

随机推荐

  1. 6.裸机C语言控制LED

    C语言版LED灯 汇编完成C语言的环境配置 C语言完成点亮LED灯 程序编写 汇编程序start.S .global _start /* 全局标号 */ /* * 描述: _start函数,程序从此函 ...

  2. vue的路由以后的页面整合

    前面呢也提到一点点,今天就吧这个页面整合给分享一下.有不对的地方还望包容. 在vue中,一般在主显示的界面的路径呢一般是'/'也就是单括号中有一斜杠的这个呢是默认的显示路径.只要路由配置了这个路径用& ...

  3. Rancher首席架构师解读Fleet:它何以管理百万集群?

    作者简介 Darren Shepherd,Rancher Labs联合创始人及首席架构师.在加入Rancher之前,Darren是Citrix的高级首席工程师,他在那里从事CloudStack.Ope ...

  4. 深入理解MySQL索引(下)

    先创建一个T表. mysql> create table T ( ID int primary key, k int NOT NULL DEFAULT 0, s varchar(16) NOT ...

  5. java创建线程安全的类

    如果一个对象想要被多个线程安全的并发访问,那么这个对象必须是或线程安全的或事实不可变的或由锁来保护的. 1.java监视器模式 大多数对象都是组合对象.当从头开始构建一个类,或者将多个非线程安全的类组 ...

  6. 2021年【线上】第一性原理vasp技术实战培训班

    材料模拟分子动力学课程 3月19号--22号 远程在线课 lammps分子动力学课程 3月12号--15号 远程在线课 第一性原理VASP实战课 3月25号-28号 远程在线课 量子化学Gaussia ...

  7. 使用注解的形式对token进行验证

    @[TOC](使用注解的形式对token进行验证)# 前言现在很多系统都是都用上了springboot.springcloud,系统也偏向分布式部署.管理,最早的用户令牌方案:session.cook ...

  8. 转 2 jmeter常用功能介绍-测试计划、线程组

    2 jmeter常用功能介绍-测试计划.线程组   1.测试计划测试用来描述一个性能测试,所有内容都是基于这个测试计划的. (1)User Defined Variables:设置用户全局变量.一般添 ...

  9. TekRADIUS5.5安装教程

    1.下载地址:https://www.kaplansoft.com/TekRADIUS/release/tekradius.zip 2.解压安装,双击一步默认安装下来就是了 3.配置连接数据库: 4. ...

  10. (12)-Python3之--openpyxl模块

    1.安装 pip install openpyxl 2.Excel操作的流程 1.打开excel,进入工作薄 workbook2.选择表单 Sheet 3.单元格  Cell4.读写操作 3.Exce ...