1. 程式人生 > 其它 >odoo之錯誤合集一

odoo之錯誤合集一

技術標籤:python基礎教程python基礎教程

問題1:部署odoo執行一段時間後報模組錯誤
錯誤描述

當部署的odoo系統,執行一段時間之後,會報錯,沒有xxx模組,不進行處理直接restart odoo服務又能使用系統,但是進入虛vb.net教程
擬環境之後,使用pip list檢視虛擬環境中的包,該模組是存在的;並且進入環境,使用pip install xxx安裝模組,會提示該模組已存在;而最奇怪的地方在於,這個正常執行的時間,可長可短,長的執行一兩個月都不會出現問題,短的可能重啟服務之後幾分鐘就又會報錯。這個問題出現了將近半年,期間一直是通過重啟來解決的,但並不能c#教程真正杜絕這個問題的出現,最近又出現了這個問題,於是花了一上午的時間,查了很多資料,最後終於把這個問題解決了。

報錯資訊

Dec 04 10:42:28 iZwz96whdvuty0hu7h1k3oZ odoo13[1965]:   File "/opt/odoo13/odoo/odoo/__init__.py", line 75, in <module>
Dec 04 10:42:28 iZwz96whdvuty0hu7h1k3oZ odoo13[1965]:     import PyPDF2
Dec 04 10:42:28 iZwz96whdvuty0hu7h1k3oZ odoo13[1965]: ModuleNotFoundError: No module named 'PyPDF2'
Dec
04 10:42:28 iZwz96whdvuty0hu7h1k3oZ systemd[1]: odoo13.service: Main process exited, code=exited, status=1/FAILURE Dec 04 10:42:28 iZwz96whdvuty0hu7h1k3oZ systemd[1]: odoo13.service: Failed with result 'exit-code'.

安裝模組後提示模組已存在

在這裡插入圖片描述

期間也嘗試了很多方法,比如

pip innstall PyPDF2
pip3 install PyPDF2
pip3 install python3-pypdf2

等等,還有建議將python降級為2的…

解決方式:

sudo pip3 install PyPDF2
這樣就可以了,但是很奇怪的是,這個明明是將模組安裝到全域性環境的呀!重啟服務,執行,發現正常了,但是,,,執行幾分鐘後,報沒有模組passlib的錯,得,這次又換了一個模組,去環境中裝依然報該模組已存在。最後還是使用 pip3 install passlib模組解決的,然後重啟執行幾分鐘後,又換了個模組報錯,還是如前面一樣;此時大概明白問題的所在了,就是odoo中沒有使用你虛擬環境裡面的包,而是呼叫全域性的包,但是在服務的配置檔案中其實配置過python路徑的!並且它有時能正常執行很久有時又很快報錯。最終解決:

sudo pip3 install -r odoo/requirements.txt

報錯原因分析

可能在odoo中仍然還存在不穩定的地方,比如這個,你配置的是虛擬環境中的python環境,它可能有時候呼叫的是虛擬環境的包,有時呼叫的全域性環境的包,所以才導致了這個不穩定的發生。所以最終的解決方式有兩種,一種是在服務配置檔案中直接使用全域性的python環境,一種是給全域性環境也安裝上執行odoo系統所需的各種包。

問題2:mac安裝odoo報錯:No module named ‘reportlab’
安裝依賴時唯獨reportlab不能安裝成功,於是所有的包都裝好了,只留一個reportlab包到最後,直接啟動odoo,到點選按鈕建立資料庫時報錯沒有這個模組;

使用pip和pycharm以及換了幾個源都沒用,報錯中有error: command ‘clang’ failed with exit status 1

安裝時查資料說是xcode有問題,要重灌;但是在啟動odoo後,拿這個報錯資訊去查,隨便試了一條命令居然成功了,如下:

pip install --upgrade --force-reinstall reportlab
作用為覆蓋安裝模組;但為何直接pip安裝不能成功,覆蓋安python基礎教程裝能成功不得而知。

問題3:mac安裝odoo包psycopg2時報錯:Error: pg_config executable not found
報錯完整資訊

Error: pg_config executable not found.
    
    pg_config is required to build psycopg2 from source.  Please add the directory
    containing pg_config to the $PATH or specify the full executable path with the
    option:
    
        python setup.py build_ext --pg-config /path/to/pg_config build ...
    
    or with the pg_config option in 'setup.cfg'.
    
    If you prefer to avoid building psycopg2 from source, please install the PyPI
    'psycopg2-binary' package instead.
    
    For further information please check the 'doc/src/install.rst' file (also at
    <https://www.psycopg.org/docs/install.html>).
    
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

解決辦法

pip install psycopg2-binary
安裝成功後即可正常執行。