Odoo项目无需修改源码 如何去除import语句外层odoo14前缀
这个需求完全可以实现,无需修改odoo14目录下的任何官方源码,常用实现方案有以下几种:
方案1:运行时动态添加模块搜索路径
Python导入模块时会按sys.path列表内的路径顺序查找匹配的包,你可以在项目启动脚本、自定义模块的入口文件头部添加如下代码,把odoo14目录的绝对路径加入搜索路径最前端即可:
import sys import os # 此处路径根据你的项目实际根目录调整即可 sys.path.insert(0, os.path.abspath('./odoo14'))
配置完成后即可直接使用from odoo import api, fields, models语句导入。
方案2:配置PYTHONPATH环境变量
如果不想修改代码,可以通过配置系统环境变量实现全局生效:
- Windows系统:在cmd中执行命令
set PYTHONPATH=你的odoo14文件夹绝对路径;%PYTHONPATH%,如需永久生效可在系统环境变量管理界面添加对应配置 - Linux/macOS系统:在终端执行命令
export PYTHONPATH=你的odoo14文件夹绝对路径:$PYTHONPATH,如需永久生效可将该行命令写入~/.bashrc或~/.zshrc配置文件
方案3:IDE标记源代码根
如果是在PyCharm、VS Code等IDE中开发,可以直接将odoo14文件夹标记为源代码根(Sources Root),IDE会自动将该路径加入运行时的sys.path,开发阶段导入不会报错,运行项目时也能正常识别。
方案4:虚拟环境.pth文件配置
如果你使用Python虚拟环境管理项目依赖,可以进入虚拟环境的site-packages目录,新建命名为odoo_source.pth的文件,文件内仅需写入odoo14文件夹的绝对路径并保存。之后激活虚拟环境时,系统会自动将该路径加入sys.path,无需额外配置。
内容的提问来源于stack exchange,提问作者NM Naufaldo
相关产品推荐
相关产品推荐

