Настройка среды разработки Odoo 12, Проблемы с версией Werkzeug - PullRequest
1 голос
/ 01 апреля 2020

Я пытаюсь настроить экземпляр Odoo 12 с Python 3.7 virtualenv в Ubuntu версии 18.04, используя Pycharm. Я продолжаю получать проблемы, связанные с Werkzeug, следующим образом:

Если я использую нужную версию werkzueg, написанную в файле needs.txt (Werkzeug == 0.11.15), я получаю эту ошибку. Я думаю, что эта ошибка происходит от версии werkzueg, не поддерживающей Python 3.7

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/werkzeug/http.py", line 26, in <module>
    from urllib2 import parse_http_list as _parse_list_header
ModuleNotFoundError: No module named 'urllib2'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "/usr/local/lib/python3.7/dist-packages/werkzeug/datastructures.py", line 2700, in <module>
    from werkzeug.http import dump_options_header, dump_header, generate_etag, \
ImportError: cannot import name 'dump_options_header' from 'werkzeug.http' (/usr/local/lib/python3.7/dist-packages/werkzeug/http.py)
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/werkzeug/http.py", line 26, in <module>
    from urllib2 import parse_http_list as _parse_list_header
ModuleNotFoundError: No module named 'urllib2'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "/usr/local/lib/python3.7/dist-packages/werkzeug/http.py", line 28, in <module>
    from urllib.request import parse_http_list as _parse_list_header
ImportError: cannot import name 'parse_http_list' from 'urllib.request' (/usr/lib/python3.7/urllib/request.py)

Original exception was:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/werkzeug/http.py", line 26, in <module>
    from urllib2 import parse_http_list as _parse_list_header
ModuleNotFoundError: No module named 'urllib2'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "/usr/local/lib/python3.7/dist-packages/werkzeug/datastructures.py", line 2700, in <module>
    from werkzeug.http import dump_options_header, dump_header, generate_etag, \
ImportError: cannot import name 'dump_options_header' from 'werkzeug.http' (/usr/local/lib/python3.7/dist-packages/werkzeug/http.py)

Process finished with exit code 1

Если я использую самую последнюю версию werkzueg (Werkzeug == 1.0.1), я получаю эту ошибку.

Traceback (most recent call last):

  File "/home/alexvining/Documents/Odoo Dev Env/Odoo 12/odoo/odoo/http.py", line 32, in <module>
    import werkzeug.contrib.sessions
ModuleNotFoundError: No module named 'werkzeug.contrib'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "/usr/local/lib/python3.7/dist-packages/werkzeug/serving.py", line 61, in <module>
    import SocketServer as socketserver
ModuleNotFoundError: No module named 'SocketServer'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/werkzeug/serving.py", line 58, in <module>
    from http.server import BaseHTTPRequestHandler
ModuleNotFoundError: No module named 'http.server'; 'http' is not a package

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "/usr/local/lib/python3.7/dist-packages/werkzeug/serving.py", line 61, in <module>
    import SocketServer as socketserver
ModuleNotFoundError: No module named 'SocketServer'

Original exception was:

  File "/home/alexvining/Documents/Odoo Dev Env/Odoo 12/odoo/odoo/http.py", line 32, in <module>
    import werkzeug.contrib.sessions
ModuleNotFoundError: No module named 'werkzeug.contrib'

During handling of the above exception, another exception occurred:

  File "/usr/local/lib/python3.7/dist-packages/werkzeug/serving.py", line 61, in <module>
    import SocketServer as socketserver
ModuleNotFoundError: No module named 'SocketServer'

Process finished with exit code 1

Извините, что пришлось сократить журналы ошибок, переполнение стека вызывало ошибку, говорящую о том, что сообщение выглядело как спам. Любая помощь будет высоко ценится!

1 Ответ

2 голосов
/ 01 апреля 2020

werkzeug.contrib был удален в v1.0.0.

Изменение записи в файле needs.txt на

werkzeug==0.16.1

будет работать.

...