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

如何在examples目录的example.py中导入my-package的basic模块?

如何在examples目录的脚本中导入Python包内的模块?

先明确你的项目结构(方便大家对齐场景):

my-package/
 examples/
  example.py
 my-package/
  __init__.py
  basic.py
  main.py

先提个关键细节:Python的模块/包名不允许包含连字符,建议把内层的my-package文件夹改名为my_package——不然直接写from my-package import basic会触发语法错误(减号会被当成减法运算符),这也是你报错的核心原因之一。

接下来给你几个最优的导入方案,按实用程度排序:

1. 以可编辑模式安装包(强烈推荐)

这是开发Python包时最常用的方式,既能让你在任意目录导入包,又能实时同步源码修改。

操作步骤:

  • 打开终端,切换到项目的根目录(就是包含examples和my-package(或my_package)的那个目录)
  • 运行以下命令:
pip install -e .

安装完成后,不管你在哪个目录运行example.py,都可以直接写:

from my_package import basic

完全不会报错,而且后续修改包内的代码,不需要重新安装就能生效。

2. 临时将项目根目录加入Python搜索路径(适合快速测试)

如果只是临时测试不想安装包,可以在example.py的最开头添加代码,手动把项目根目录加入Python的模块搜索路径sys.path:

import sys
from pathlib import Path

# 获取项目根目录:当前脚本的父目录的父目录
project_root = Path(__file__).parent.parent
sys.path.append(str(project_root))

# 现在就能正常导入了
from my_package import basic

这种方法的优点是不需要额外操作,缺点是只能在这个脚本里生效,换其他脚本还要重复加这段代码。

3. 设置PYTHONPATH环境变量(适合临时会话)

你也可以通过设置环境变量,让Python在全局搜索路径中包含你的项目根目录:

  • Linux/macOS:在终端运行
export PYTHONPATH=/path/to/your/project/root:$PYTHONPATH
  • Windows(CMD):
set PYTHONPATH=C:\path\to\your\project\root;%PYTHONPATH%
  • Windows(PowerShell):
$env:PYTHONPATH = "C:\path\to\your\project\root;$env:PYTHONPATH"

设置完后,在当前终端会话里运行example.py就能直接导入包了,但关闭终端后环境变量就会失效。


内容的提问来源于stack exchange,提问作者Wasim Thabraze

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:26:09