odoo开发环境python

1.windows基础环境

参考链接

1.python

pycharm-2020.1
python-3.7.4

  1. 安装python依赖

    1. #使用pycharm直接安装依赖或在项目路径运行下行命令
    2. pip install -r requirements.txt

    手动安装无法pip安装的依赖:psycopg(实际:psycopg2),wkhtmltopdf0.12(实际:wkhtmltopdf0.2)
    安装cas
    导入python-openid
    urlparse后命名为urllib.parse
    #fixed odoo.addons.web.controllers,去掉odoo.即可在addons中找到web/controllers
    urllib2 更改为 import urllib.request as urllib2
    md5加密修改参考链接https://blog.csdn.net/qq_878799579/article/details/74324869

    2.postgreSQL

    postgreSQL-10.0
    使用的是docker 镜像安装的postgre
    docker pull postgre:10.0

    3.node.js

  2. 下载安装nodejs12.11.1

  3. 安装rtlcss

    npm install -g rtlcss

  4. rtlcss.cmd文件的路径添加到系统环境变量(通常在C:\Users\\AppData\Roaming\npm)

    2.运行

    1.创建、初始化并运行

    1. #创建用户及数据库
    2. postgres# CREATE USER testuser WITH PASSWORD 'testpwd';
    3. postgres# CREATE DATABASE testdb;
    4. postgres# GRANT ALL PRIVILEGES ON DATABASE testdb to testuser;
    5. #启动odoo 加[-i base]是初始化数据库
    6. python odoo-bin --addons-path=addons -d testdb -r testuser -w testpwd --db_host ip --db_port 5432 [-i base]

    2.初始化信息

    ```python 2020-05-08 02:58:48,417 40444 INFO ? odoo.modules.loading: init db 2020-05-08 02:58:48,421 40444 INFO ? odoo.service.server: HTTP service (werkzeug) running on DENG-PC:8069 2020-05-08 02:58:50,321 40444 INFO test02 odoo.modules.loading: loading 1 modules… 2020-05-08 02:58:50,427 40444 INFO test02 odoo.modules.registry: module base: creating or updating database tables 2020-05-08 02:58:50,942 40444 INFO test02 odoo.models: Computing parentpath for table iruimenu… 2020-05-08 02:58:52,575 40444 INFO test02 odoo.models: Computing parentpath for table respartnercategory… 2020-05-08 02:58:53,468 40444 INFO test02 odoo.models: Storing computed values of ir.model.fields.relationfieldid 2020-05-08 02:58:53,482 40444 INFO test02 odoo.models: Storing computed values of ir.model.fields.related_field_id 2020-05-08 02:58:53,881 40444 INFO test02 odoo.models: Storing computed values of ir.actions.server.model_name 2020-05-08 02:58:54,041 40444 INFO test02 odoo.models: Storing computed values of ir.attachment.res_name 2020-05-08 02:58:54,043 40444 INFO test02 odoo.models: Storing computed values of ir.attachment.res_model_name 2020-05-08 02:58:54,072 40444 INFO test02 odoo.models: Storing computed values of ir.cron.cron_name 2020-05-08 02:58:54,215 40444 INFO test02 odoo.models: Storing computed values of ir.rule.global 2020-05-08 02:58:54,478 40444 INFO test02 odoo.models: Storing computed values of ir.module.module.menus_by_module 2020-05-08 02:58:54,480 40444 INFO test02 odoo.models: Storing computed values of ir.module.module.reports_by_module 2020-05-08 02:58:54,482 40444 INFO test02 odoo.models: Storing computed values of ir.module.module.views_by_module 2020-05-08 02:58:54,774 40444 INFO test02 odoo.models: Storing computed values of res.partner.display_name 2020-05-08 02:58:54,806 40444 INFO test02 odoo.models: Storing computed values of res.partner.partner_share 2020-05-08 02:58:54,810 40444 INFO test02 odoo.models: Storing computed values of res.partner.commercial_partner_id 2020-05-08 02:58:54,811 40444 INFO test02 odoo.models: Storing computed values of res.partner.commercial_company_name 2020-05-08 02:58:54,874 40444 INFO test02 odoo.models: Storing computed values of res.partner.bank.sanitized_acc_number 2020-05-08 02:58:54,972 40444 INFO test02 odoo.models: Storing computed values of res.currency.decimal_places 2020-05-08 02:58:55,036 40444 INFO test02 odoo.models: Storing computed values of res.company.logo_web 2020-05-08 02:58:55,054 40444 INFO test02 odoo.models: Storing computed values of res.company.email 2020-05-08 02:58:55,055 40444 INFO test02 odoo.models: Storing computed values of res.company.phone 2020-05-08 02:58:55,176 40444 INFO test02 odoo.models: Storing computed values of res.users.share 2020-05-08 02:58:55,821 40444 INFO test02 odoo.modules.loading: loading base/data/res.lang.csv 2020-05-08 02:58:55,995 40444 INFO test02 odoo.modules.loading: loading base/data/res_lang_data.xml 2020-05-08 02:58:56,026 40444 INFO test02 odoo.modules.loading: loading base/data/res_partner_data.xml 2020-05-08 02:58:56,366 40444 INFO test02 odoo.modules.loading: loading base/data/res_company_data.xml 2020-05-08 02:58:56,406 40444 INFO test02 odoo.modules.loading: loading base/data/res_users_data.xml 2020-05-08 02:58:56,816 40444 INFO test02 odoo.modules.loading: loading base/data/report_paperformat_data.xml 2020-05-08 02:58:56,838 40444 INFO test02 odoo.modules.loading: loading base/data/res_currency_data.xml 2020-05-08 02:58:57,870 40444 INFO test02 odoo.modules.loading: loading base/data/res_country_data.xml 2020-05-08 02:59:02,680 40444 INFO test02 odoo.modules.loading: loading base/data/ir_demo_data.xml 2020-05-08 02:59:02,723 40444 INFO test02 odoo.modules.loading: loading base/security/base_groups.xml 2020-05-08 02:59:03,177 40444 INFO test02 odoo.modules.loading: loading base/security/base_security.xml 2020-05-08 02:59:03,457 40444 INFO test02 odoo.modules.loading: loading base/views/base_menus.xml 2020-05-08 02:59:03,729 40444 INFO test02 odoo.modules.loading: loading base/views/res_config_views.xml 2020-05-08 02:59:03,778 40444 INFO test02 odoo.modules.loading: loading base/data/res.country.state.csv 2020-05-08 02:59:04,902 40444 INFO test02 odoo.modules.loading: loading base/views/ir_actions_views.xml 2020-05-08 02:59:05,468 40444 INFO test02 odoo.modules.loading: loading base/views/ir_config_parameter_views.xml 2020-05-08 02:59:05,559 40444 INFO test02 odoo.modules.loading: loading base/views/ir_cron_views.xml 2020-05-08 02:59:05,723 40444 INFO test02 odoo.modules.loading: loading base/views/ir_filters_views.xml 2020-05-08 02:59:05,840 40444 INFO test02 odoo.modules.loading: loading base/views/ir_mail_server_views.xml 2020-05-08 02:59:05,952 40444 INFO test02 odoo.modules.loading: loading base/views/ir_model_views.xml 2020-05-08 02:59:06,562 40444 INFO test02 odoo.modules.loading: loading base/views/ir_attachment_views.xml 2020-05-08 02:59:06,695 40444 INFO test02 odoo.modules.loading: loading base/views/ir_rule_views.xml 2020-05-08 02:59:06,806 40444 INFO test02 odoo.modules.loading: loading base/views/ir_sequence_views.xml 2020-05-08 02:59:06,929 40444 INFO test02 odoo.modules.loading: loading base/views/ir_translation_views.xml 2020-05-08 02:59:07,059 40444 INFO test02 odoo.modules.loading: loading base/views/ir_ui_menu_views.xml 2020-05-08 02:59:07,186 40444 INFO test02 odoo.modules.loading: loading base/views/ir_ui_view_views.xml 2020-05-08 02:59:07,379 40444 INFO test02 odoo.modules.loading: loading base/views/ir_default_views.xml 2020-05-08 02:59:07,488 40444 INFO test02 odoo.modules.loading: loading base/data/ir_cron_data.xml 2020-05-08 02:59:07,513 40444 INFO test02 odoo.modules.loading: loading base/report/ir_model_report.xml 2020-05-08 02:59:07,529 40444 INFO test02 odoo.modules.loading: loading base/report/ir_model_templates.xml 2020-05-08 02:59:07,568 40444 INFO test02 odoo.modules.loading: loading base/views/ir_logging_views.xml 2020-05-08 02:59:07,671 40444 INFO test02 odoo.modules.loading: loading base/views/ir_qweb_widget_templates.xml 2020-05-08 02:59:07,728 40444 INFO test02 odoo.modules.loading: loading base/views/ir_module_views.xml 2020-05-08 02:59:07,980 40444 INFO test02 odoo.modules.loading: loading base/data/ir_module_category_data.xml 2020-05-08 02:59:08,187 40444 INFO test02 odoo.modules.loading: loading base/data/ir_module_module.xml 2020-05-08 02:59:08,368 40444 INFO test02 odoo.modules.loading: loading base/report/ir_module_reports.xml 2020-05-08 02:59:08,378 40444 INFO test02 odoo.modules.loading: loading base/report/ir_module_report_templates.xml 2020-05-08 02:59:08,410 40444 INFO test02 odoo.modules.loading: loading base/wizard/base_module_update_views.xml 2020-05-08 02:59:08,465 40444 INFO test02 odoo.modules.loading: loading base/wizard/base_language_install_views.xml 2020-05-08 02:59:08,527 40444 INFO test02 odoo.modules.loading: loading base/wizard/base_import_language_views.xml 2020-05-08 02:59:08,587 40444 INFO test02 odoo.modules.loading: loading base/wizard/base_module_upgrade_views.xml 2020-05-08 02:59:08,681 40444 INFO test02 odoo.modules.loading: loading base/wizard/base_module_uninstall_views.xml 2020-05-08 02:59:08,716 40444 INFO test02 odoo.modules.loading: loading base/wizard/base_export_language_views.xml 2020-05-08 02:59:08,770 40444 INFO test02 odoo.modules.loading: loading base/wizard/base_update_translations_views.xml 2020-05-08 02:59:08,820 40444 INFO test02 odoo.modules.loading: loading base/wizard/base_partner_merge_views.xml 2020-05-08 02:59:08,874 40444 INFO test02 odoo.modules.loading: loading base/data/ir_actions_data.xml 2020-05-08 02:59:08,899 40444 INFO test02 odoo.modules.loading: loading base/data/ir_demo_failure_data.xml 2020-05-08 02:59:08,973 40444 INFO test02 odoo.modules.loading: loading base/views/res_company_views.xml 2020-05-08 02:59:09,229 40444 INFO test02 odoo.modules.loading: loading base/views/res_lang_views.xml 2020-05-08 02:59:09,348 40444 INFO test02 odoo.modules.loading: loading base/views/res_partner_views.xml 2020-05-08 02:59:09,900 40444 INFO test02 odoo.modules.loading: loading base/views/res_bank_views.xml 2020-05-08 02:59:10,072 40444 INFO test02 odoo.modules.loading: loading base/views/res_country_views.xml 2020-05-08 02:59:10,259 40444 INFO test02 odoo.modules.loading: loading base/views/res_currency_views.xml 2020-05-08 02:59:10,484 40444 INFO test02 odoo.modules.loading: loading base/views/res_users_views.xml 2020-05-08 02:59:11,075 40444 INFO test02 odoo.modules.loading: loading base/views/ir_property_views.xml 2020-05-08 02:59:11,204 40444 INFO test02 odoo.modules.loading: loading base/views/res_config_settings_views.xml 2020-05-08 02:59:11,257 40444 INFO test02 odoo.modules.loading: loading base/views/report_paperformat_views.xml 2020-05-08 02:59:11,367 40444 INFO test02 odoo.modules.loading: loading base/views/onboarding_views.xml 2020-05-08 02:59:11,522 40444 INFO test02 odoo.modules.loading: loading base/security/ir.model.access.csv 2020-05-08 02:59:11,979 40444 INFO test02 odoo.modules.loading: Module base: loading demo 2020-05-08 02:59:11,980 40444 INFO test02 odoo.modules.loading: loading base/data/res_company_demo.xml 2020-05-08 02:59:12,005 40444 INFO test02 odoo.modules.loading: loading base/data/res_users_demo.xml 2020-05-08 02:59:12,765 40444 INFO test02 odoo.modules.loading: loading base/data/res_partner_bank_demo.xml 2020-05-08 02:59:12,782 40444 INFO test02 odoo.modules.loading: loading base/data/res_currency_rate_demo.xml 2020-05-08 02:59:13,376 40444 INFO test02 odoo.modules.loading: loading base/data/res_bank_demo.xml 2020-05-08 02:59:13,387 40444 INFO test02 odoo.modules.loading: loading base/data/res_partner_demo.xml 2020-05-08 02:59:14,669 40444 INFO test02 odoo.modules.loading: loading base/data/res_partner_image_demo.xml 2020-05-08 02:59:16,444 40444 INFO test02 odoo.modules.loading: 1 modules loaded in 26.12s, 0 queries 2020-05-08 02:59:16,476 40444 INFO test02 odoo.modules.loading: updating modules list 2020-05-08 02:59:16,476 40444 INFO test02 odoo.addons.base.models.ir_module: ALLOW access to module.update_list on [] to user __system #1 via n/a 2020-05-08 02:59:17,899 40444 INFO test02 odoo.addons.base.models.ir_module: ALLOW access to module.button_upgrade on [‘base’] to user __system #1 via n/a 2020-05-08 02:59:17,900 40444 INFO test02 odoo.addons.base.models.ir_module: ALLOW access to module.update_list on [‘base’] to user __system #1 via n/a 2020-05-08 02:59:18,821 40444 INFO test02 odoo.addons.base.models.ir_module: ALLOW access to module.button_install on [] to us er __system #1 via n/a 2020-05-08 02:59:18,859 40444 INFO test02 odoo.modules.loading: loading 9 modules… 2020-05-08 02:59:19,017 40444 INFO test02 odoo.modules.registry: module web: creating or updating database tables 2020-05-08 02:59:21,104 40444 INFO test02 odoo.modules.loading: loading web/security/ir.model.access.csv 2020-05-08 02:59:21,139 40444 INFO test02 odoo.modules.loading: loading web/views/webclient_templates.xml 2020-05-08 02:59:21,678 40444 INFO test02 odoo.modules.loading: loading web/views/report_templates.xml 2020-05-08 02:59:22,099 40444 INFO test02 odoo.modules.loading: loading web/data/res_company.xml 2020-05-08 02:59:22,110 40444 INFO test02 odoo.modules.loading: loading web/data/report_layout.xml 2020-05-08 02:59:22,139 40444 INFO test02 odoo.modules.loading: Module web: loading demo 2020-05-08 02:59:22,410 40444 INFO test02 odoo.modules.registry: module base_import: creating or updating database tables 2020-05-08 02:59:25,325 40444 INFO test02 odoo.modules.loading: loading base_import/security/ir.model.access.csv 2020-05-08 02:59:25,440 40444 INFO test02 odoo.modules.loading: loading base_import/views/base_import_templates.xml 2020-05-08 02:59:25,606 40444 INFO test02 odoo.modules.loading: Module base_import: loading demo 2020-05-08 02:59:25,732 40444 INFO test02 odoo.modules.registry: module web_diagram: creating or updating database tables 2020-05-08 02:59:25,745 40444 INFO test02 odoo.modules.loading: loading web_diagram/views/web_diagram_templates.xml 2020-05-08 02:59:25,867 40444 INFO test02 odoo.modules.loading: Module web_diagram: loading demo 2020-05-08 02:59:26,054 40444 INFO test02 odoo.modules.registry: module web_editor: creating or updating database tables 2020-05-08 02:59:26,361 40444 INFO test02 odoo.modules.loading: loading web_editor/security/ir.model.access.csv 2020-05-08 02:59:26,388 40444 INFO test02 odoo.modules.loading: loading web_editor/views/editor.xml 2020-05-08 02:59:26,856 40444 INFO test02 odoo.modules.loading: loading web_editor/views/iframe.xml 2020-05-08 02:59:26,923 40444 INFO test02 odoo.modules.loading: loading web_editor/views/snippets.xml 2020-05-08 02:59:26,976 40444 INFO test02 odoo.modules.loading: Module web_editor: loading demo 2020-05-08 02:59:27,085 40444 INFO test02 odoo.modules.registry: module web_kanban_gauge: creating or updating database tables

2020-05-08 02:59:27,096 40444 INFO test02 odoo.modules.loading: loading web_kanban_gauge/views/web_kanban_gauge_templates.xml

2020-05-08 02:59:27,201 40444 INFO test02 odoo.modules.loading: Module web_kanban_gauge: loading demo 2020-05-08 02:59:27,324 40444 INFO test02 odoo.modules.registry: module web_settings_dashboard: creating or updating database tables 2020-05-08 02:59:27,375 40444 INFO test02 odoo.modules.loading: loading web_settings_dashboard/views/dashboard_views.xml 2020-05-08 02:59:27,401 40444 INFO test02 odoo.modules.loading: loading web_settings_dashboard/views/dashboard_templates.xml 2020-05-08 02:59:27,521 40444 INFO test02 odoo.modules.loading: Module web_settings_dashboard: loading demo 2020-05-08 02:59:27,647 40444 INFO test02 odoo.modules.registry: module web_tour: creating or updating database tables 2020-05-08 02:59:27,722 40444 INFO test02 odoo.modules.loading: loading web_tour/security/ir.model.access.csv 2020-05-08 02:59:27,756 40444 INFO test02 odoo.modules.loading: loading web_tour/security/ir.rule.csv 2020-05-08 02:59:27,797 40444 INFO test02 odoo.modules.loading: loading web_tour/views/tour_templates.xml 2020-05-08 02:59:27,919 40444 INFO test02 odoo.modules.loading: loading web_tour/views/tour_views.xml 2020-05-08 02:59:27,998 40444 INFO test02 odoo.modules.loading: Module web_tour: loading demo 2020-05-08 02:59:27,999 40444 INFO test02 odoo.modules.loading: loading web_tour/data/web_tour_demo.xml 2020-05-08 02:59:28,183 40444 INFO test02 odoo.modules.registry: module iap: creating or updating database tables 2020-05-08 02:59:28,251 40444 INFO test02 odoo.modules.loading: loading iap/security/ir.model.access.csv 2020-05-08 02:59:28,284 40444 INFO test02 odoo.modules.loading: loading iap/security/ir_rule.xml 2020-05-08 02:59:28,325 40444 INFO test02 odoo.modules.loading: loading iap/views/assets.xml 2020-05-08 02:59:28,400 40444 INFO test02 odoo.modules.loading: loading iap/views/iap_views.xml 2020-05-08 02:59:28,485 40444 INFO test02 odoo.modules.loading: Module iap: loading demo 2020-05-08 02:59:28,524 40444 INFO test02 odoo.modules.loading: 9 modules loaded in 9.66s, 0 queries 2020-05-08 02:59:28,823 40444 INFO test02 odoo.modules.loading: Modules loaded.

  1. <a name="E962P"></a>
  2. # 3.导入自定义模块(可选)
  3. <a name="mYanY"></a>
  4. ## 1.外部模块
  5. 外部模块代码大都是[OCA(Odoo Community Association)在GitHub上的开源项目](https://github.com/OCA)
  6. 1. employee(自写)
  7. 目录结构如下:<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/1258159/1590719626493-8047141e-e903-43b0-9ce4-760f3a2d4784.png#averageHue=%23faf9f6&height=127&id=h9tdL&originHeight=127&originWidth=162&originalType=binary&ratio=1&rotation=0&showTitle=false&size=4112&status=done&style=none&title=&width=162)
  8. 2. project
  9. project: [https://github.com/OCA/project/tree/12.0](https://github.com/OCA/project/tree/12.0)<br />project_team: [https://apps.odoo.com/apps/modules/12.0/project_team/](https://apps.odoo.com/apps/modules/12.0/project_team/)<br />project_task_timer: [https://apps.odoo.com/apps/modules/12.0/project_task_timer/](https://apps.odoo.com/apps/modules/12.0/project_task_timer/)
  10. 3. web
  11. [https://github.com/OCA/web/tree/12.0](https://github.com/OCA/web/tree/12.0)
  12. 4. social
  13. [https://github.com/OCA/social/tree/12.0](https://github.com/OCA/social/tree/12.0)
  14. 5. server-tools
  15. [https://github.com/OCA/server-tools](https://github.com/OCA/server-tools)
  16. 6. timesheet
  17. [https://github.com/OCA/timesheet](https://github.com/OCA/timesheet)
  18. 7. account-analytic
  19. [https://github.com/OCA/account-analytic](https://github.com/OCA/account-analytic)
  20. 8. auth_cas
  21. [https://apps.odoo.com/apps/modules/10.0/auth_cas/#](https://apps.odoo.com/apps/modules/10.0/auth_cas/#)
  22. <a name="F09hS"></a>
  23. ## 2.目录结构
  24. 下载好解压完毕按照这样的目录结构放置:<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/1258159/1590719738482-90e7de1d-b6e5-488f-a06d-ca76602a7850.png#averageHue=%23faf9f7&height=340&id=eFud6&originHeight=340&originWidth=208&originalType=binary&ratio=1&rotation=0&showTitle=false&size=12206&status=done&style=none&title=&width=208)<br />注:目录结构不是死的,启动命令addons-path加入自定路径即可,参照下一步:启动命令
  25. <a name="ITtRV"></a>
  26. ## 3.启动命令
  27. ```python
  28. python odoo-bin --addons-path=odoo\addons,addons,mymodules\myaddons,mymodules\otheraddons\project-12.0,mymodules\otheraddons\web-12.0,mymodules\otheraddons\social-12.0 -d test02 -r test02 -w test02 --db_host x.x.x.x --db_port 5432

错误

1.odoo-bin运行无反应退出

使用pycharm运行odoo-bin错误如下:

  1. Process finished with exit code -1073740940 (0xC0000374)

解决方法:
https://stackoverflow.com/questions/61935980/process-finished-with-exit-code-1073740940-0xc0000374
https://www.cnblogs.com/ws17345067708/p/10876622.html