Odoo15 - ModuleNotFoundError:没有名为“PyPDF2”的模块

问题描述 投票:0回答:6

我是 Odoo 新手。 我使用 pyenv 来托管 odoo 和所有依赖项。全部在odoo系统用户下,我能够启动odoo服务:

~# systemctl status odoo-15
● odoo-15.service - Odoo15
     Loaded: loaded (/etc/systemd/system/odoo-15.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-02-18 22:33:40 UTC; 6min ago
   Main PID: 61267 (python)
      Tasks: 6 (limit: 2339)
     Memory: 79.3M
     CGroup: /system.slice/odoo-15.service
             └─61267 /home/odoo/.pyenv/versions/odoo-15-env/bin/python /home/odoo/odoo-15/odoo-bin -c /home/odoo/.odoo_config

但是,由于 PyPDF2 找不到,该服务似乎总是在大约 1 小时后自动停止:

Feb 18 16:10:28 ubuntu-s-1vcpu-2gb-sgp1-odoo systemd[1]: Started Odoo15.
Feb 18 17:19:32 ubuntu-s-1vcpu-2gb-sgp1-odoo odoo-15[58346]: Traceback (most recent call last):
Feb 18 17:19:32 ubuntu-s-1vcpu-2gb-sgp1-odoo odoo-15[58346]:   File "/home/odoo/odoo-15/odoo-bin", line 5, in <module>
Feb 18 17:19:32 ubuntu-s-1vcpu-2gb-sgp1-odoo odoo-15[58346]:     import odoo
Feb 18 17:19:32 ubuntu-s-1vcpu-2gb-sgp1-odoo odoo-15[58346]:   File "/home/odoo/odoo-15/odoo/__init__.py", line 75, in <module>
Feb 18 17:19:32 ubuntu-s-1vcpu-2gb-sgp1-odoo odoo-15[58346]:     import PyPDF2
Feb 18 17:19:32 ubuntu-s-1vcpu-2gb-sgp1-odoo odoo-15[58346]: ModuleNotFoundError: No module named 'PyPDF2'
Feb 18 17:19:32 ubuntu-s-1vcpu-2gb-sgp1-odoo systemd[1]: odoo-15.service: Main process exited, code=exited, status=1/FAILURE
Feb 18 17:19:32 ubuntu-s-1vcpu-2gb-sgp1-odoo systemd[1]: odoo-15.service: Failed with result 'exit-code'.

但是我的 pyenv 中肯定有 PyPDF2

odoo@ubuntu-s-1vcpu-2gb-sgp1-odoo:~/odoo-15$ python
Python 3.9.2 (default, Feb 17 2022, 17:59:57)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyPDF2
>>> PyPDF2.__version__
'1.26.0'

我觉得这与我的 virtualenv 配置有关,但我在这里有点迷失了。
您能帮助我了解这里可能出了什么问题吗?谢谢你

virtualenv systemd pypdf pyenv odoo-15
6个回答
0
投票

您需要激活虚拟环境并安装 Odoo 要求:

sudo pip install -r requirements.txt

或者直接安装此模块

pip3 install Pypdf2

0
投票

检查此链接,它在博客上已修复

https://shilalg.blogspot.com/2019/07/importerror-no-module-named-pypdf2.html

0
投票

您需要激活虚拟环境并在环境中安装模块,如果没有,它将无法识别安装。

转到你的 odoo 文件夹,查看原始问题

cd /home/odoo 
source odoo15-venv/bin/activate
 pip install PyPDF2  
 deactivate
 service odoo15 restart

0
投票

当你使用python3时 试试这个命令

apt-get 安装 python3-pypdf2


0
投票

如果你使用 python venv(如我所想):

问题是会话被错误终止,ODOO 重新启动服务但不使用 VENV 上下文,因此 python3 找不到正确的依赖项

如果使用 venv,请查看正确的启动模式:

https://github.com/odoo/odoo/issues/33479#issuecomment-1207347677


-1
投票

通常发生在您忘记为odoo激活虚拟环境时。

如果您已经配置了虚拟环境。在运行 odoo 服务器之前启动你的 venv

如果没有。然后你必须安装所有依赖项(位于odoo目录中的requirement.txt文件中)。

导航到 odoo 文件夹并运行

pip install -r requirements.txt
。按回车键。让它安装所有软件包并再次运行您的服务器。

© www.soinside.com 2019 - 2024. All rights reserved.