ModuleNotFoundError: нет модуля с именем 'urllib2 - PullRequest
0 голосов
/ 18 января 2019

Пожалуйста, мне нужна помощь, я пытаюсь запустить odoo из pycharm, я установил odoo 12 на машину с Ubuntu 18.04, я открыл папку odoo в pycharm и добавляю конфигурацию в pycharm (я использую pycharm communoty edition) для этого проекта 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

1 Ответ

0 голосов
/ 19 января 2019

Экземпляр pycharm odoo использует /usr/bin/python3.6 в качестве интерпретатора python, эта среда python не содержит необходимых пакетов для запуска экземпляра odoo-12. Настоятельно рекомендуется использовать виртуальную среду вместо общесистемной среды.

Чтобы установить пакеты, необходимые для запуска odoo-12, используйте pip и needs.txt из odoo git. Просто скачайте текстовый файл и выполните следующую команду:

python3.6 -m pip install -r requirements.txt

если пакет pip не найден, вы можете установить его из репозитория apt, используя следующую команду

sudo apt-get install python3-pip

...