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

如何修改导入语句,优先导入与第三方库同名的本地Pkg1文件夹?

解决本地同名包与第三方包的导入冲突

当本地Pkg1文件夹和已安装的第三方同名包冲突时,你可以用以下几种办法优先导入本地内容:

1. 手动提升本地包的路径优先级

在run.py的最开头添加代码,把本地Pkg1的根目录放到Python路径的最前面,让解释器优先查找本地包:

import sys
import os

# 拿到本地Pkg1的绝对路径(run.py在scripts目录,往上退一级就是Pkg1根目录)
local_pkg_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
# 插入到sys.path最顶端,覆盖默认的第三方包路径
sys.path.insert(0, local_pkg_root)

# 现在导入的就是本地Pkg1里的Function1了
from Pkg1 import Function1

2. 使用相对导入

因为run.py是本地Pkg1的子模块(位于Pkg1/scripts),可以用相对导入直接引用上层包的内容:

from .. import Function1

⚠️ 注意:用这种方式时,不能直接双击或用python run.py执行脚本,必须以包的模块形式运行,命令是:

python -m Pkg1.scripts.run

3. 临时卸载第三方包(仅临时测试用)

如果只是临时验证本地包功能,可以先卸载第三方Pkg1,测试完再装回去:

pip uninstall -y Pkg1
# 测试完成后重新安装
pip install Pkg1

这种方法不适合长期使用,会影响其他依赖该第三方包的项目。

内容的提问来源于stack exchange,提问作者Nikola Tolzsek

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 09:22:06