pycharm - ModuleNotFoundError:没有名为“urllib2”的模块
问题描述
请我需要帮助,我尝试从 pycharm 运行 odoo,我已经在 ubuntu 18.04 机器上安装了 odoo 12,我已经在 pycharm 中打开了 odoo 文件夹,我在 pycharm 中添加了配置(我使用 pycharm 社区版)到这个 opend 项目,之后我运行 odoo 但 odoo 无法从 pycharm 运行,我收到此错误:
/usr/bin/python3.6 /usr/bin/odoo
/usr/local/lib/python3.6/dist-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use "pip install psycopg2-binary" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>.
""")
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/http.py", line 32, in <module>
from werkzeug.datastructures import CallbackDict
File "/usr/local/lib/python3.6/dist-packages/werkzeug/datastructures.py", line 2759, in <module>
from werkzeug.http import dump_options_header, dump_header, generate_etag, \
ImportError: cannot import name 'dump_options_header'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/odoo", line 5, in <module>
import odoo
File "/usr/lib/python3/dist-packages/odoo/__init__.py", line 89, in <module>
from . import modules
File "/usr/lib/python3/dist-packages/odoo/modules/__init__.py", line 8, in <module>
from . import db, graph, loading, migration, module, registry
File "/usr/lib/python3/dist-packages/odoo/modules/graph.py", line 10, in <module>
import odoo.tools as tools
File "/usr/lib/python3/dist-packages/odoo/tools/__init__.py", line 9, in <module>
import werkzeug.utils
File "/usr/local/lib/python3.6/dist-packages/werkzeug/__init__.py", line 151, in <module>
__import__('werkzeug.exceptions')
File "/usr/local/lib/python3.6/dist-packages/werkzeug/exceptions.py", line 71, in <module>
from werkzeug.wrappers import Response
File "/usr/local/lib/python3.6/dist-packages/werkzeug/wrappers.py", line 27, in <module>
from werkzeug.http import HTTP_STATUS_CODES, \
File "/usr/local/lib/python3.6/dist-packages/werkzeug/http.py", line 30, in <module>
from urllib2 import parse_http_list as _parse_list_header, \
ModuleNotFoundError: No module named 'urllib2'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/werkzeug/http.py", line 27, in <module>
from urllib.request import parse_http_list as _parse_list_header
ImportError: cannot import name 'parse_http_list'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 21, in <module>
from urllib.request import urlopen
File "/usr/lib/python3.6/urllib/request.py", line 88, in <module>
import http.client
File "/usr/lib/python3/dist-packages/odoo/http.py", line 32, in <module>
import werkzeug.contrib.sessions
File "/usr/local/lib/python3.6/dist-packages/werkzeug/contrib/sessions.py", line 63, in <module>
from werkzeug.datastructures import CallbackDict
File "/usr/local/lib/python3.6/dist-packages/werkzeug/__init__.py", line 151, in <module>
__import__('werkzeug.exceptions')
File "/usr/local/lib/python3.6/dist-packages/werkzeug/exceptions.py", line 71, in <module>
from werkzeug.wrappers import Response
File "/usr/local/lib/python3.6/dist-packages/werkzeug/wrappers.py", line 27, in <module>
from werkzeug.http import HTTP_STATUS_CODES, \
File "/usr/local/lib/python3.6/dist-packages/werkzeug/http.py", line 30, in <module>
from urllib2 import parse_http_list as _parse_list_header, \
ModuleNotFoundError: No module named 'urllib2'
Original exception was:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/werkzeug/http.py", line 27, in <module>
from urllib.request import parse_http_list as _parse_list_header
File "/usr/lib/python3.6/urllib/request.py", line 88, in <module>
import http.client
File "/usr/lib/python3/dist-packages/odoo/http.py", line 32, in <module>
import werkzeug.contrib.sessions
File "/usr/local/lib/python3.6/dist-packages/werkzeug/contrib/sessions.py", line 63, in <module>
from werkzeug.datastructures import CallbackDict
File "/usr/local/lib/python3.6/dist-packages/werkzeug/datastructures.py", line 2759, in <module>
from werkzeug.http import dump_options_header, dump_header, generate_etag, \
ImportError: cannot import name 'dump_options_header'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/odoo", line 5, in <module>
import odoo
File "/usr/lib/python3/dist-packages/odoo/__init__.py", line 89, in <module>
from . import modules
File "/usr/lib/python3/dist-packages/odoo/modules/__init__.py", line 8, in <module>
from . import db, graph, loading, migration, module, registry
File "/usr/lib/python3/dist-packages/odoo/modules/graph.py", line 10, in <module>
import odoo.tools as tools
File "/usr/lib/python3/dist-packages/odoo/tools/__init__.py", line 9, in <module>
from .misc import *
File "/usr/lib/python3/dist-packages/odoo/tools/misc.py", line 26, in <module>
import werkzeug.utils
File "/usr/local/lib/python3.6/dist-packages/werkzeug/__init__.py", line 151, in <module>
__import__('werkzeug.exceptions')
File "/usr/local/lib/python3.6/dist-packages/werkzeug/exceptions.py", line 71, in <module>
from werkzeug.wrappers import Response
File "/usr/local/lib/python3.6/dist-packages/werkzeug/wrappers.py", line 27, in <module>
from werkzeug.http import HTTP_STATUS_CODES, \
File "/usr/local/lib/python3.6/dist-packages/werkzeug/http.py", line 30, in <module>
from urllib2 import parse_http_list as _parse_list_header, \
ModuleNotFoundError: No module named 'urllib2'
Process finished with exit code 1
解决方案
pycharm odoo 实例/usr/bin/python3.6
用作它的python
解释器,这个 python 环境不包含必要的包运行odoo-12
实例。强烈建议使用虚拟环境,而不是系统范围的环境。
要安装运行所需的软件包odoo-12
,请使用 odoo git 中的 pip 和requirements.txt。只需下载文本文件并运行以下命令:
python3.6 -m pip install -r requirements.txt
如果pip
找不到包,您可以apt
使用以下命令从存储库安装它
sudo apt-get install python3-pip
推荐阅读
- javascript - 如何从按钮中正确检索事件 ID 并用于删除 Ajax 请求
- swift4 - 如何使用 UIDocument 删除
- python - 正则表达式 - 总长度有最大值,但组可以是可变的,不包括句点
- java - 我应该使用最终双精度还是最终浮点数?
- c# - 如何授权服务帐户访问用户云端硬盘帐户?
- mysql - 错误:ER_DATA_TOO_LONG:第 1 行的“数据”列的数据太长
- google-bigquery - 使用 AVRO 或 Parquet 的 BigQuery 嵌套数组的结构
- sql-server - 为什么我会收到“同义词 'syn.Syn_AAA' 指的是无效对象”错误?
- php - 获取我的订阅时出现 YouTube API V3 404 错误
- actions-on-google - 新版模拟器与设备上的助手应用不匹配