問題1:部署odoo運行一段時間后報模塊錯誤
錯誤描述
當部署的odoo系統,運行一段時間之后,會報錯,沒有xxx模塊,不進行處理直接restart odoo服務又能使用系統,但是進入虛擬環境之后,使用pip list查看虛擬環境中的包,該模塊是存在的;并且進入環境,使用pip install xxx安裝模塊,會提示該模塊已存在;而最奇怪的地方在于,這個正常運行的時間,可長可短,長的運行一兩個月都不會出現問題,短的可能重啟服務之后幾分鐘就又會報錯,這個問題出現了將近半年,期間一直是通過重啟來解決的,但并不能真正杜絕這個問題的出現,最近又出現了這個問題,于是花了一上午的時間,查了很多資料,最后終于把這個問題解決了,
報錯資訊
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安裝不能成功,覆寫安裝能成功不得而知,
問題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
安裝成功后即可正常運行,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/246428.html
標籤:其他
