New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FIX] requirements: python3.7 compatibility #25841
Conversation
Continuation of odoo#25783 Part of odoo#25578
I don't think this is going to be accepted, as they use the library versions of latest Debian stable. Are they needed because the libraries versions are not compatible with Python 3.7? |
I'm sorry to say that @pedrobaeza is true.
python3-yaml may probably be removed. So, it's true that we try to follow Debian stable python3-* packages version as smuch as possible. The good news is that python3.7 will be available in Buster. |
We can use the same case like lxml==3.7.1 ; sys_platform != 'win32' and python_version < '3.7'
lxml==4.2.3 ; sys_platform != 'win32' and python_version >= '3.7' Notice the If you are using the official python3.5 version then you will use the official lxml too. |
I mean, diff --git a/requirements.txt b/requirements.txt
index 27127c70862..6919450cba8 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,11 +3,14 @@ decorator==4.0.10
docutils==0.12
ebaysdk==2.1.5
feedparser==5.2.1
-gevent==1.1.2 ; sys_platform != 'win32'
-greenlet==0.4.10
+gevent==1.1.2 ; sys_platform != 'win32' and python_version < '3.7'
+gevent==1.3.5 ; sys_platform != 'win32' and python_version >= '3.7'
+greenlet==0.4.10 ; python_version < '3.7'
+greenlet==0.4.14 ; python_version >= '3.7'
html2text==2016.9.19
Jinja2==2.8
-lxml==3.7.1 ; sys_platform != 'win32'
+lxml==3.7.1 ; sys_platform != 'win32' and python_version < '3.7'
+lxml==4.2.3 ; sys_platform != 'win32' and python_version >= '3.7'
lxml ; sys_platform == 'win32'
Mako==1.0.4
MarkupSafe==0.23 |
Looks good to me, I closed a bit quickly, sorry. |
In fact, using docker with I just confirm the following versions are valid for buster and python3.7: lxml==4.2.3
gevent==1.3.4 The greenlet official for buster is With this information the final requirements should be: diff --git a/requirements.txt b/requirements.txt
index 27127c70862..96736e9917d 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,11 +3,14 @@ decorator==4.0.10
docutils==0.12
ebaysdk==2.1.5
feedparser==5.2.1
-gevent==1.1.2 ; sys_platform != 'win32'
-greenlet==0.4.10
+gevent==1.1.2 ; sys_platform != 'win32' and python_version < '3.7'
+gevent==1.3.4 ; sys_platform != 'win32' and python_version >= '3.7'
+greenlet==0.4.10 ; python_version < '3.7'
+greenlet==0.4.13 ; python_version >= '3.7'
html2text==2016.9.19
Jinja2==2.8
-lxml==3.7.1 ; sys_platform != 'win32'
+lxml==3.7.1 ; sys_platform != 'win32' and python_version < '3.7'
+lxml==4.2.3 ; sys_platform != 'win32' and python_version >= '3.7'
lxml ; sys_platform == 'win32'
Mako==1.0.4
MarkupSafe==0.23 |
Merged here: 27c017a |
Hi @d-fence I'm using a travis build with python3.7 and I can confirm that installing PyYAML==3.12 raise an error using python3.7 (Notice the red result of the travis build). But installing PyYAML==3.13 the error is fixed (Notice the green result of the travis build). Could you apply the following patch, please? iff --git a/requirements.txt b/requirements.txt
index 96736e9917d..ceee9cc8cd9 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -29,7 +29,8 @@ pyserial==3.1.1
python-dateutil==2.5.3
pytz==2016.7
pyusb==1.0.0
-PyYAML==3.12
+PyYAML==3.12 ; python_version < '3.7'
+PyYAML==3.13 ; python_version >= '3.7'
qrcode==5.3
reportlab==3.3.0
requests==2.11.1 |
* [REF] odoo-shippable: Add link symbolic python3.7-dev virtual environment for compatibility with travis.yml https://docs.travis-ci.com/user/languages/python/#Specifying-Python-versions * [REF] odoo-shippable: Remove custom version for 3.7 Fixed from odoo/odoo#25841
FYI I just have created the following PR with the last package for full compatibility in python3.7: |
@moylop260 haven't you experienced gevent cpu leaks, exposing the symptoms in #50861, whlie using these pinned versions of gevent combined with python 3.7? |
Hi @yajo I haven't read your issue before... |
Continuation of #25783
Part of #25578
cc @mart-e
UPDATED:
Gevent
lxml
Greenlet