zoukankan      html  css  js  c++  java
  • Odoo开发教程19-使用 Python 虚拟环境安装 Odoo第一讲

    维护多个 Odoo 版本的代码在 Odoo 开发中很常见,需要整理一下来保持项目在同一台开发机器上并行。改变版本有时会需要上下文的切换。比如,现在 Odoo 的启动执行文件是 odoobin,而在老版本中是 odoo.py。迁移到 Python 3 后又更易混淆了,我们要知道是选择python/pip 还是 python3/pip3,这取决于使用的 Odoo 版本。
    Python 有一个在同机器上管理独立环境的工具 virtualenv。每个环境有自己的 Python 可执行文件和库文件,仅需在使用时激活环境,然后 python 和 pip 无需指定就可以在相应的安装了
    Python 库的环境下运行。要在 Debian/Ubuntu 上使用 virtualenv,执行如下命令:
    sudo apt install virtualenv -y
    如果我们使用的工作目录是~/odoo-dev,并把 Odoo 12 源代码克隆到~/odoo-dev/odoo 目录中,我们可以这样进行虚拟环境的创建:
    virtualenv -p python3 ~/odoo-dev/odoo12env
    source ~/odoo-dev/odoo12env/bin/activate
    一旦激活了虚拟环境,我们可以在其中安装 Odoo,可以通过 pip 来进行操作:
    pip install -e ~/odoo-dev/odoo
    以上代码会将~/odoo-dev/odoo 中的 Odoo 源代码安装到虚拟环境中。-e 参数非常重要,这是一个可编辑安装。它不会复制一份代码到虚拟环境中,仅仅只是保留了一个到原地址 Odoo 代码的引用。因为使用到了源代码,源代码的修改在当前环境中也同样生效。
    Odoo 的 Python 依赖会被自动安装,所以无需使用 requirements.txt 来进行手动安装。我们也可以通过 pip 来安装其它所需的 Python 库:
    pip install phonenumbers num2words psycopg2-binary watchdog xlwt
    注意我们无需记住使用的是 Python 2 还是 Python 3,这里的 pip 命令会指向正确的版本。然后就可以运行 Odoo 了,pip 安装创建了一个 bin/odoo 命令,可在任何位置运行,无需涉及源代码所在目录。

    “ 小贴士:如果决定使用虚拟环境,任何要使用 odoo-bin 运行的命令,都可以替换为 odoo”

    以下命令会启动并关闭所安装版本 Odoo,打印一些日志信息用于确定 Odoo 版本和使用的插件:
    odoo --stop-after-init
    推荐的操作是将配置文件放在虚拟环境文件夹中。以下会为我们的项目初始化一个 12-library 数据库,并创建一个对应的 12-library.conf 文件:

    odoo -c ~/odoo-dev/odoo12-env/12-library.conf -d 12-library --addonspath=~/odoo-dev/library,~/odoo-dev/odoo/addons --save --stop
    自此开始,我们可通过如下命令启动图书项目 Odoo 服务:
    odoo -c ~/odoo-dev/odoo12-env/12-library.conf
    最后在完成后,通过如下命令来退出环境:
    deactivate
    假设我们要在同一台机器上使用 Odoo 10 项目,它使用的是 Python 2.7,通过如下命令创建环境、安装 Odoo:
    cd ~/odoo-dev
    git clone https://github.com/odoo/odoo.git -b 10.0 --depth=1 odoo10
    virtualenv odoo10env
    source odoo10env/bin/activate
    pip install -e ./odoo10
    odoo --version
    deactivate # To finish working with this env.
    要使得在 Odoo 版本间切换更容易,我们可以在~/odoo-dev/odoo10 目录下再为 10.0 分支克隆一份源代码。然后创建虚拟环境,激活环境,使用 pip 创建一个 Odoo 10 可编辑安装。
    virtualenv 没有使用-p 参数指定 Python 版本,默认为 Python 2,也就是 Odoo 10 所需的版本。
    如果系统中没有 Python 2,Ubuntu 18.04 默认就不带 Python 2,则需要执行如下命令来进行安装:
    sudo apt install python-dev

    更多教程:https://www.erpdaxue.cn/odoo/odoo-teach/odoo12-teach/

  • 相关阅读:
    HTML5是否已为实际应用做好准备? 狼人:
    10月Web服务器调查:Apache下降 Ngnix攀升 狼人:
    微软IE9通过97.7%的CSS 2.1测试 狼人:
    PHP将死。何以为继? 狼人:
    Firefox 4.0 Beta 8开始开发 新引擎依然没影 狼人:
    Adobe发布Air 2.5支持RIM平板电脑 狼人:
    Firefox 4.0:我们2011年再见面吧 狼人:
    Adobe AIR登陆Android 狼人:
    Google不推荐在URL里使用竖线 狼人:
    40个很不错的CSS技术 狼人:
  • 原文地址:https://www.cnblogs.com/odoo14/p/12771951.html
Copyright © 2011-2022 走看看