【第1集】odoo16开发环境搭建

news2024/12/25 23:35:43

        因为博主使用Mac作为开发电脑,因此都以Mac为主。同时本文odoo使用的是16版本,采用python源码进行安装,如需要二进制安装同学,后续有条件可能会出这方面的搭建指导。本文包含四个部分,分别为数据库安装,系统依赖安装,python依赖安装,odoo初始化配置。各位可根据实际情况从不同的部分开始。odoo使用python作为开发语言,因此需要安装python3.9以上版本,网上有很多这方面的文章,本文不做过多介绍

1. PostgreSQL数据库安装

        odoo后端使用PostgreSQL数据库作为持久化,因此我们首先需要安装PostgreSQL数据库(后续章节使用pg表示)。本文采用Mac安装docker,并在docker中安装。需要注意的是,如果个人有云服务器,也可在服务器进行pg数据库的安装,但是带宽一定要足够,本博主就是因为服务器带宽不足,导致最一开始的时候总是不能创建数据库二折腾了好久。部署命令如下(pg使用14.2版本)

docker run --name postgres \
    --restart=always \
    -e POSTGRES_PASSWORD={替换成自己的密码} \
    -p 5432:5432 \
    -v {自己本地的路径}:/var/lib/postgresql/data \
    -d postgres:14.2

        执行后,等待拉去进行完成后执行docker ps即可看到pg已经运行,如下图所示

        使用客户端链接pg数据库,博主使用的是navicat进行链接,初始数据库:postgres,用户名为默认的 postgres,密码为docker run命令中"POSTGRES_PASSWORD"后面设置的密码

        链接数据库后,需要创建用户,注意这部只创建用户不创建数据库,数据库等启动Odoo后初始化的时候创建,创建语句如下‘123qweasd’可以根据自己的想要设置的密码进行设置

CREATE ROLE "try" CREATEDB LOGIN PASSWORD '123qweasd';

        这样数据库安装完毕

2. 系统依赖安装

  1. 安装Wkhtmltopdf

        因为Odoo中有很多pdf预览的功能,因此我们需要安装Wkhtmltopdf。具体安装方式如下,访问wkhtmltopdf下载网站,找到MacOS对应的版本,下载安装即可

3. python依赖安装 

        在github上下载odoo的源码,并进行解压。下载地址为GitHub - odoo/odoo: Odoo. Open Source Apps To Grow Your Business.

        解压完成后,在解压目录下面执行如下命令,进行odoo的依赖安装,最好使用pyenv创建虚拟的python环境。博主直接使用idea作为开发ide,因此直接使用了idea的venv工具来管理python。如果各位也和博主一样使用idea或者pycharm,可先导入项目,再在idea的终端中执行如下命令

pip3 install -r requirements.txt -i https://pypi.douban.com/simple

        补充,idea导入项目步骤

        1. 在File->New->Porject创建项目,如下图所示 ,创建完成后,将odoo的源码放入到项目目录中                    在安装过程中可能会出现报错,如果报错欢迎各位在评论区贴出来报错信息我们可以一起讨论解决。

4. odoo初始化配置

        上一章节我们说到使用idea作为开发的ide,因此我们同样可以使用idea运行我们的odoo开发环境。首先我们需要在我们的项目目录中创建名为odoo-dev.conf的文件,文件内容如下

[options]
admin_passwd = admin888  #admin的密码,稍后页面会使用
db_host = 127.0.0.1    # pg数据库的ip地址
db_port = 5432         # pg端口号
db_user = odoo         # 我们在数据库章节创建的用户名
db_password = rNpr6nfEEWdmfM5T # 我们在数据库章节创建的密码
addons_path = /Users/bohanzhang/IdeaProjects/odoo-travel/addons # 我们项目路径中oddos的绝对路径

        在运行Run/Debug Configurations中,新建运行配置,需要在Parameters中增加配置, -c后面为odoo-dev.conf的绝对路径

-c /Users/bohanzhang/IdeaProjects/odoo-travel/odoo-dev.conf

        Script path配置为odoo-bin的绝对路径,odoo-bin一般在项目目录的中,到此整体配置完成,我们可点击运行将odoo运行起来

        odoo运行起来后,我们可以在浏览其中使用http://localhost:8069进行访问,访问后会出现如下页面,用于配置初始化数据库。

        初始化完成后,即可通过我们设置的用户名和密码进行访问。到此我们的本地开发环境搭建完成

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/688807.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ bool 类型

文章目录 一. bool 类型二. 三目运算符 一. bool 类型 在 C 中,bool 类型用于表示逻辑值,它只有两个可能的取值:true(真)和 false(假)。bool 类型常用于条件判断和布尔运算中。 C 标准要求 bo…

Cooike Session

1 会话技术 1.1 会话管理概述 1.1.1 什么是会话 这里的会话,指的是web开发中的一次通话过程,当打开浏览器,访问网站地址后,会话开始,当关闭浏览器(或者到了过期时间),会话结束。 …

UE5 录制透明png序列帧

以下是在 Unreal Engine 5 中录制透明 PNG 序列帧的详细步骤: 步骤1:创建一个场景 步骤2:打开序列录制器 在 Unreal Engine 5 中,首先需要打开序列录制器。你可以通过点击顶部菜单栏的 窗口 > 开发人员工具 > 序列录制器 …

HashMap、HashTable、ArrayList、定长数组之间的性能和速度比较

1、HashMap & HashTable 的速度谁快 HashMap 牺牲了线程安全提高了效率,HashTable 牺牲了效率换来了线程安全 2、HashMap 为什么线程不安全 HashMap 底层维护了一个数组,当多线程的时候对这个数组操作是不安全的。 3、ArrayList & HashMap 通…

React写法——使用js高阶函数实现多条件搜索功能

🙂博主:爱学习的Akali king 🙂本文核心:React写法——使用js高阶函数实现多条件搜索功能 目录 思考一下代码是什么?你如何看待编程语言?用react写法来实现,思路步骤:第一步&#x…

动态规划 DP (三)

4.分割DP 对于分割类型题,动态规划的状态转移方程通常并不依赖相邻的位置,而是依赖于满足分割 条件的位置。 1) 力扣https://leetcode.cn/problems/perfect-squares/举个例子对于8来说,要计算 完全平方数的最少数量 ,…

剑指offer刷题笔记--Num21-30

1--调整数组顺序使奇数位于偶数前面(21) 主要思路: 双指针法,左指针从 0 开始遍历,直到遇到偶数,右指针从 len - 1 开始遍历,直到遇到奇数; 这时左指针指向偶数,右指针指…

kube-proxy源码阅读

kube-proxy源码阅读 通过阅读kube-proxy的源码可以将proxy的主要逻辑总结为下图所示: 首先顺着代码阅读到ProxyServer->Run()函数,这里是kube-proxy启动的主逻辑,启动了两个server,分别是: ...var errCh chan err…

基于深度学习的高精度安全帽背心检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度安全帽背心检测识别系统可用于日常生活中或野外来检测与定位安全帽背心目标,利用深度学习算法可实现图片、视频、摄像头等方式的安全帽背心目标检测识别,另外支持结果可视化与图片或视频检测结果的导出。本系统采用…

【软考网络管理员】2023年软考网管初级常见知识考点(18)-安全协议SSL与PGP、数据加密技术

涉及知识点 安全套接层协议SSL详解,PGP协议是什么?数据加密技术有哪些?软考网络管理员常考知识点,软考网络管理员网络安全,网络管理员考点汇总。 原创于:CSDN博主-《拄杖盲学轻声码》,更多考点…

JUC之LockSupport和中断

文章目录 1 线程中断机制1.1 什么是线程中断机制1.2 三大中断方法1.3 如何中断运行中的线程1.3.1 通过volatile变量实现1.3.1 通过AtomicBoolean实现1.3.1 通过interrupt和isInterrupted api实现 2 LockSupport2.1 为什么会出现LockSupport2.2 两道面试题 参考材料 1 线程中断机…

案例合集 | 创新社会组织服务,打造“数字化商协会”

数字化建设方兴未艾数字化商会势在必行 近年来,国务院、发改委等机构陆续出台了一系列鼓励数字经济与产业数字化发展的规划指南,内容主要涵盖鼓励平台经济建设、促进供应链数字化转型与提升中小企业数字化渗透等方面,顶层政策引导并促进企业…

使用Gradio的BarPlot模块创建交互式柱状图

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

SQL和NoSQL数据库的便捷速查表

在项目成功的过程中选择合适的数据库非常重要。以下是关键要点的总结: •SQL数据库提供结构化数据存储、SQL支持和关系能力。•NoSQL数据库提供灵活性、可扩展性和分布式架构。•专门的数据库,如列存储、图形数据库、空间数据库和时间序列数据库&#xf…

Jetpack compose中实现流畅的Theme选择器动画

Jetpack compose中实现流畅的Theme Picker动画 Jetpack Compose改变了我们在Android上管理主题的方式。它提供了更大的灵活性,使我们能够以更多的方式定义用户界面(UI)。此外,Compose中的动画系统使我们能够轻松创建令人印象深刻和…

如何训练全自动的安卓ai脚本(yolov5 为例) 实现游戏应用自动屏幕识别点击

必要资源 yolo训练方法,调参要点:https://docs.ultralytics.com/ncnn yolov5 示例:https://github.com/nihui/ncnn-android-yolov5在线模型转换:https://convertmodel.com/ 硬件配备 32G 内存, 2060 英伟达显卡 操作步骤 1.准备好数据集&#xff0c…

管理类联考——逻辑——知识篇——形式逻辑——五、联言选言——haimian

联言&选言 考点分析 考点分析 削弱 年度 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023题量6222111 联言 本质定义 联言命题是断定两种或两种以上事物情况同时存在的命题,用“A并且B”表示,逻辑符号为A ∧ B。 若“A ∧ B”为真…

为什么uCOSii的栈顶不再是0x20000000

我将FreeRTOS的工程文件移植到基于uCOSii系统中,发现两个系统生成的栈顶地址不一样,即使栈的大小相同,都是用Keil编译器,差别很大。见下图: Stack_Size EQU 0x00001000; 以前一直使用FreeRTOS系统&#xff0c…

简单易懂:Vue3框架三天速成(一)

前言:学习Vue框架首先需要具备基本的HTML5、CSS3、JavaScript基础,了解基本概念以及用法再来学习Vue会事半功倍! 一、初识Vue Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。Vue 只关注视图层&a…

【服务器数据恢复】raid5故障导致LUN无法访问的数据恢复案例

服务器数据恢复环境: 一台服务器中有一组由数块SAS硬盘组建的RAID5阵列,阵列中有1块热备盘,上层部署OA以及Oracle数据库。 服务器故障: 该磁盘阵列中有2块硬盘出现故障先后离线,RAID5阵列瘫痪,上层LUN无法…