learningequality / ka-lite

KA Lite: lightweight web server for serving core Khan Academy content (videos and exercises) without needing internet connectivity
https://learningequality.org/ka-lite/
Other
457 stars 304 forks source link

Upgrade six library version to 1.10.0 #5396

Closed mrpau-richard closed 7 years ago

mrpau-richard commented 7 years ago

Summary

Running pip install . to compile ka-lite source will have these errors

Processing /Users/user/ka-lite
    Complete output from command python setup.py egg_info:
    Already blocking...
    Already blocking...
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/pf/jwg228js7cg687y7hkgym1040000gn/T/pip-_wsYPx-build/setup.py", line 338, in <module>
        'install_scripts': my_install_scripts  # Windows bat wrapper
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 111, in setup
        _setup_distribution = dist = klass(attrs)
      File "/Users/user/.virtualenvs/kalite-build/lib/python2.7/site-packages/setuptools/dist.py", line 320, in __init__
        _Distribution.__init__(self, attrs)
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 287, in __init__
        self.finalize_options()
      File "/Users/user/.virtualenvs/kalite-build/lib/python2.7/site-packages/setuptools/dist.py", line 386, in finalize_options
        ep.require(installer=self.fetch_build_egg)
      File "/Users/user/.virtualenvs/kalite-build/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2318, in require
        items = working_set.resolve(reqs, env, installer, extras=self.extras)
      File "/Users/user/.virtualenvs/kalite-build/lib/python2.7/site-packages/pkg_resources/__init__.py", line 859, in resolve
        raise VersionConflict(dist, req).with_context(dependent_req)
    pkg_resources.VersionConflict: (six 1.9.0 (/Users/user/.virtualenvs/kalite-build/lib/python2.7/site-packages), Requirement.parse('six>=1.10.0'))

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/pf/jwg228js7cg687y7hkgym1040000gn/T/pip-_wsYPx-build/

Upgrading six library to 1.10.0 will fix the issue.

/cc @benjaoming

benjaoming commented 7 years ago

@mrpau-richard - you should retarget for 0.17.x if this is a release blocker for 0.17?

codecov-io commented 7 years ago

Current coverage is 51.82% (diff: 100%)

Merging #5396 into develop will not change coverage

@@            develop      #5396   diff @@
==========================================
  Files           143        143          
  Lines          7491       7491          
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
  Hits           3882       3882          
  Misses         3609       3609          
  Partials          0          0          

Powered by Codecov. Last update b68da83...51587a0

mrpau-richard commented 7 years ago

Yeah, this is a release blocker for 0.17.x.

benjaoming commented 7 years ago

@mrpau-richard where does the six>=1.10.0 come from?

As I read the pip sources, it's not from installing pip itself, must be from some other source.. pip doesn't have dependencies.

benjaoming commented 7 years ago

pip install . works for me on a clean virtualenv.

mrpau-richard commented 7 years ago

Hi @benjaoming you can reproduce this issue if you install first the requirements.txt then run the command pip install .

The six>=1.10.0 come from requirements.txt

I also notice that when I create a clean virtualenv, It will automatically install the six version 1.10.0 and it will override to 1.9.0 if you install the requirements.txt

These are the logs.

(ka-lite-builda) delta-air:ka-lite user$ pip list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
appdirs (1.4.0)
CherryPy (3.3.0)
Django (1.5.12)
django-annoying (0.8.4)
django-appconf (1.0.1)
django-js-reverse (0.5.0)
django-tastypie-legacy (0.12.2.post2)
docopt (0.6.2)
ifcfg (0.9.3)
importlib (1.0.3)
packaging (16.8)
pbkdf2 (1.3)
peewee (2.6.4)
pip (9.0.1)
ply (3.4)
pyasn1 (0.1.9)
pyparsing (2.1.10)
python-dateutil (2.4.2)
python-mimeparse (1.6.0)
requests (2.11.1)
rsa (3.1.1)
setuptools (34.0.2)
six (1.9.0)
slimit (0.8.1)
South (1.0.2)
wheel (0.30.0a0)
youtube-dl (2015.11.24)
(ka-lite-builda) delta-air:ka-lite user$ pip install .
Processing /Users/user/ka-lite
    Complete output from command python setup.py egg_info:
    Already blocking...
    Already blocking...
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/pf/jwg228js7cg687y7hkgym1040000gn/T/pip-tIAVd2-build/setup.py", line 338, in <module>
        'install_scripts': my_install_scripts  # Windows bat wrapper
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 111, in setup
        _setup_distribution = dist = klass(attrs)
      File "/Users/user/.virtualenvs/ka-lite-builda/lib/python2.7/site-packages/setuptools/dist.py", line 320, in __init__
        _Distribution.__init__(self, attrs)
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 287, in __init__
        self.finalize_options()
      File "/Users/user/.virtualenvs/ka-lite-builda/lib/python2.7/site-packages/setuptools/dist.py", line 386, in finalize_options
        ep.require(installer=self.fetch_build_egg)
      File "/Users/user/.virtualenvs/ka-lite-builda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2318, in require
        items = working_set.resolve(reqs, env, installer, extras=self.extras)
      File "/Users/user/.virtualenvs/ka-lite-builda/lib/python2.7/site-packages/pkg_resources/__init__.py", line 859, in resolve
        raise VersionConflict(dist, req).with_context(dependent_req)
    pkg_resources.VersionConflict: (six 1.9.0 (/Users/user/.virtualenvs/ka-lite-builda/lib/python2.7/site-packages), Requirement.parse('six>=1.10.0'))

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/pf/jwg228js7cg687y7hkgym1040000gn/T/pip-tIAVd2-build/
benjaoming commented 7 years ago

@mrpau-richard Interesting, thanks for explaining... so six==1.9.0 is actually what's in requirements.txt, but it seems that you get another version installed, maybe it's a read-only copy in your system.

I'll update the requirements...