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
>=eventlet-0.20.0: 'import six' imports the bundled eventlet six version #381
Comments
|
|
Can you reproduce it on another machine, not CentOS7?
in theory, this script should test for this issue, but it doesn't trigger error for me.
|
No I can't reproduce it on another host. Other CentOS 7 hosts appear to behave correctly. However, the fact that 0.19.0 works OK on that box suggests that something subtle has changed between 0.19 and 0.20 and triggers this behavior. |
Uhm, yeah, but those two facts together mean that some subtle change combined with something on that particular machine triggers the error. Can you try completely purging all files related to eventlet and six and try again? I stress the point of not relying on any package management smartness. |
Yes I completely removed all eventlet and six files from the host and installed again. It still does not resolve the issue. I even removed the eventlet dependencies and nothing changed. I install both 'six' and 'eventlet' using 'pip' which shouldn't do any weird thing. If I execute this
you see that for whatever reason the 'six' symbol is binded to the eventlet six module during the 'eventlet' import. On the other hand, a regular 'import six' works fine
Unfortunately I can't really explain or even understand where the root cause of this could be. But since 0.19 works I believe that looking at the differences between 0.19 and 0.20 is a good start. |
Do you have same Python version on different machines? |
And what about |
Yes it's same python and setuptools (34.0.2) |
This might also be of interest which is printed when executing
|
Please |
Sure broken:
working:
they look pretty similar |
Bisection also let me to this as the first bad commit
|
Yeah I know that commit is the only thing that could broke it, but I thought it's crafted smart enough to not break anything. Can you also install this thing |
Sadly installing pygtk2 didn't make any difference. The paths are now the same but nothing really changed |
Thanks for all your input, I'm out of ideas right now what's going on. Is it possible you share all python related files, so I try to recreate the conditions in virtual machine and try more thorough step-by-step debugging?
Full filesystem image would be easier, but I think it's a reasonable guess that root cause is somewhere among /usr python files since you showed no use of virtualenvs. |
Also please show |
Also, I know this is going insane road but please, try this version
|
So the |
By the way, if the real problem is eventlet's bundled six is too old for something else in your system, a temporary crutch workaround is to replace |
Yes, I have already replaced the bundled files with the 1.10 ones. I suspect the problem will be "masked" once you make a new release which will include 1.10 anyway |
I'm sorry for reopening old and closed thread, but could someone please elaborate, how #479 actually resolves this issue? We still have this problem and cherrypicking this commit doesn't really help. |
|
Hi,
We are seeing a very strange problem in one of our CentOS7 boxes
When using eventlet-0.19.0 with 'six' then importing 'six' works a expected
But with >=eventlet-0.20.0 something strange is happening
This is really wrong since 'import six' shouldn't import the bundled six module from eventlet but use the system's 'six' version
The text was updated successfully, but these errors were encountered: