导入python模块(永久/暂时修改sys.path内容)

本文深入解析Python模块导入机制,涵盖绝对路径、相对路径导入及sys.path的临时与永久修改方法。探讨.pth文件的作用及其在环境配置中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python模块导入

导入python模块有下面几种:

  1. 绝对路径导入
  2. 相对路径导入
  3. sys.path含有的路径直接导入

相对路径导入

都是通用的表示:

路径表示
当前目录./
上级目录..

暂时修改sys.path

  可以使用
  sys.path.append(“your_path”)
  sys.path.remove(“your_path”)
  来暂时将your_path添加到python导入时检索的路径列表(或暂时移除)。但是这都是暂时的方法,我们可以永久修改sys.path的内容

永久修改sys.path

  sys.path的内容是其本身检索路径加上各个路径下的.pth文件构成。因此我们可以在可以检索到的位置添加.pth文件来永久改变sys.path。下面是步骤

  1. 查看检索路径:
    cmd或者bash输入
    python # 打开python环境
    import sys
    print(sys.path)
    
  2. 添加检索路径:
    比如上面print内容包括"c:/users/pc/anaconda",那我们就可以在"c:/users/pc/anaconda"路径下建立一个xxx.pth文件,然后在里面写上路径。这样就永久修改了sys.path的内容

解释pth文件

  解释一下pth文件:pth文件用于添加额外的sys.path即python检索路径,一般在github上下载的程序包会有一个setup.py,执行该文件会在(当前python环境下的site-packages文件夹生成)一个.pth文件。

pth files are used to add additional locations sys. path, and they are typically created by distutils setup scripts that use the (still undocumented) extra_path argument.

  我试了试这样添加不支持嵌套,比如我把e:/chrome添加了路径,但是e:/chrome下的.pth文件不会被识别。不过这样能够保持安全?否则这样嵌套添加路径会带来不必要的麻烦

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值