You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何全局配置Python路径,无需在每个demo脚本重复添加?

无需重复添加路径代码的解决方案

针对你的项目场景(始终从顶层py目录运行脚本),有几种不用在每个demo脚本里加路径代码的方法:

方法1:设置PYTHONPATH环境变量

Python会优先从PYTHONPATH环境变量指定的路径里查找模块,你只需要把顶层py目录加入这个变量:

  • 临时生效(仅当前终端会话):
    • Linux/macOS:在py目录下执行 export PYTHONPATH=$(pwd)
    • Windows cmd:在py目录下执行 set PYTHONPATH=%cd%
    • Windows PowerShell:在py目录下执行 $env:PYTHONPATH = (Get-Location).Path
  • 永久生效:把上述对应系统的命令添加到shell配置文件(比如Linux的~/.bashrc、macOS的~/.zshrc),或者Windows的系统环境变量中。
    设置完成后,所有demo脚本里直接写from util.util_fn1 import foo即可正常导入。

方法2:将项目安装为可编辑包

利用pip的可编辑模式,把整个项目加入Python的模块搜索路径:

  1. 在py目录下创建pyproject.toml文件(推荐),内容如下:
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"

[project]
name = "my_project"
version = "0.1"
packages = ["util"]
  1. 在py目录下执行命令:pip install -e .
    安装完成后,无论在哪个路径(只要在当前Python环境),都能直接导入util模块,demo脚本无需任何路径相关代码。

方法3:用统一入口脚本启动demo

在py目录下创建一个启动脚本run_demo.py,内容如下:

import importlib
import sys

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print("用法:python run_demo.py demo1")
        sys.exit(1)
    demo_name = sys.argv[1]
    demo_module = importlib.import_module(f"demo.{demo_name}")
    # 若demo脚本有main函数,自动调用
    if hasattr(demo_module, "main"):
        demo_module.main()

之后运行demo时,在py目录下执行python run_demo.py demo1即可。由于是从顶层目录启动,Python默认会将当前目录加入模块搜索路径,demo脚本里直接写导入语句就行。

内容的提问来源于stack exchange,提问作者Brian Day

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 08:25:01