Skip to content

Conversation

@benoit-stratoscale
Copy link
Contributor

@abel-stratoscale @maor-stratoscale please review

This allow the exclusion from modulefinder path of specific module. This allow us to exclude dodgy python2/3 modules with conditional import like gevent

@benoit-stratoscale
Copy link
Contributor Author

@adir-stratoscale please review

@romfreiman
Copy link

Ha? @benoit-stratoscale, you really interested to change upseto? :)

@romfreiman
Copy link

cc: @eliran-stratoscale

@benoit-stratoscale
Copy link
Contributor Author

@rom-stratoscale @eliran-stratoscale
Here is the problem we faced :

Post mortem , for the sake of posterity :

root cause : we upgrade gevent automatically to v1.1 ( released 9 of march ) which has a conditional import for supporting python2/3
Why : we use zerorpc to get gevent , its a fixed version but we do not fix gevent , as a result on install we try to get the latest version.
ERROR : modulefinder ( python core) doesn't support conditional import in this version => parse python3 and everything dies

Resolution :
Short term : force gevent to version 1.0
long term :

  1. fix upseto to allow exclusion of module during parse , pull request
  2. update makefile to ignore gevent ( its part of site package so no need to pack it in the egg)

Recommendation : FIX every dependency in order to avoid further issue , do not assume that because we have fix the top package all the dependency will stay the same.

note modulefinder is patched to support conditional import in python 3.5 but tough luck for 2.7 ... http://bugs.python.org/issue17396

This will bite us again later , we are better off having the facility in to handle hybrid python2/3 lib now than waste time again with such stuff..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants