From ebe8b25210b9124bfe3b9eb489f7ecea9a400131 Mon Sep 17 00:00:00 2001 From: David Baumgold Date: Wed, 15 Jul 2015 11:16:17 -0400 Subject: [PATCH 1/3] Upgrade setuptools to 18.0.1 This reverts commit 1a3f0958b93e2d4e726165851305447db8cd4596. --- common/lib/capa/setup.py | 2 +- common/lib/xmodule/setup.py | 2 +- requirements/edx/base.txt | 1 - requirements/edx/pre.txt | 3 +++ setup.py | 2 +- 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/common/lib/capa/setup.py b/common/lib/capa/setup.py index dcb631e376..b9466ca101 100644 --- a/common/lib/capa/setup.py +++ b/common/lib/capa/setup.py @@ -4,5 +4,5 @@ setup( name="capa", version="0.1", packages=find_packages(exclude=["tests"]), - install_requires=["distribute>=0.6.28"], + install_requires=["setuptools"], ) diff --git a/common/lib/xmodule/setup.py b/common/lib/xmodule/setup.py index fedb0e4447..e1e50daf98 100644 --- a/common/lib/xmodule/setup.py +++ b/common/lib/xmodule/setup.py @@ -54,7 +54,7 @@ setup( version="0.1", packages=find_packages(exclude=["tests"]), install_requires=[ - 'distribute', + 'setuptools', 'docopt', 'capa', 'path.py', diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index b765624902..3311d3aca6 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -13,7 +13,6 @@ celery==3.1.18 cssselect==0.9.1 dealer==2.0.4 defusedxml==0.4.1 -distribute>=0.6.28, <0.7 django-babel-underscore==0.1.0 django-celery==3.1.16 django-countries==3.3 diff --git a/requirements/edx/pre.txt b/requirements/edx/pre.txt index 89bfe09890..5efe897838 100644 --- a/requirements/edx/pre.txt +++ b/requirements/edx/pre.txt @@ -5,6 +5,9 @@ # * One of @e0d, @feanil, @fredsmith, @maxrothman, or @jibsheet # to check system requirements +# Use a modern setuptools instead of distribute +setuptools==18.0.1 + # Numpy and scipy can't be installed in the same pip run. # Install numpy before other things to help resolve the problem. numpy==1.6.2 diff --git a/setup.py b/setup.py index 6dbbdd90aa..1b2ef6ec30 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ from setuptools import setup setup( name="Open edX", version="0.4", - install_requires=["distribute"], + install_requires=["setuptools"], requires=[], # NOTE: These are not the names we should be installing. This tree should # be reorganized to be a more conventional Python tree. From 957c8144ca0d4adad67999b98ee70e78f9637430 Mon Sep 17 00:00:00 2001 From: David Baumgold Date: Wed, 15 Jul 2015 11:17:17 -0400 Subject: [PATCH 2/3] Upgrade MySQL-python to 1.2.5 This reverts commit 2ff0f636ed60bdbab001fd364694e13dad039833. --- pavelib/prereqs.py | 1 - requirements/edx/base.txt | 1 + requirements/edx/post.txt | 9 --------- 3 files changed, 1 insertion(+), 10 deletions(-) delete mode 100644 requirements/edx/post.txt diff --git a/pavelib/prereqs.py b/pavelib/prereqs.py index 220a5387c4..4219a9a58b 100644 --- a/pavelib/prereqs.py +++ b/pavelib/prereqs.py @@ -16,7 +16,6 @@ PYTHON_REQ_FILES = [ 'requirements/edx/github.txt', 'requirements/edx/local.txt', 'requirements/edx/base.txt', - 'requirements/edx/post.txt', ] # Developers can have private requirements, for local copies of github repos, diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index 3311d3aca6..7361f5de46 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -51,6 +51,7 @@ Markdown==2.2.1 --allow-unverified meliae meliae==0.4.0 mongoengine==0.10.0 +MySQL-python==1.2.5 networkx==1.7 nose==1.3.3 oauthlib==0.7.2 diff --git a/requirements/edx/post.txt b/requirements/edx/post.txt deleted file mode 100644 index 202784390c..0000000000 --- a/requirements/edx/post.txt +++ /dev/null @@ -1,9 +0,0 @@ -# DON'T JUST ADD NEW DEPENDENCIES!!! -# -# If you open a pull request that adds a new dependency, you should notify: -# * @mollydb to check licensing -# * One of @e0d, @feanil, @fredsmith, @maxrothman, or @jibsheet -# to check system requirements - -# This must be installed after distribute has been updated. -MySQL-python==1.2.4 From afeef4cb9ec6924ad0d3ce8c184809060e537140 Mon Sep 17 00:00:00 2001 From: David Baumgold Date: Wed, 15 Jul 2015 10:58:01 -0400 Subject: [PATCH 3/3] Fix setuptools infinite loop bug triggered by python-saml --- pavelib/prereqs.py | 1 + requirements/edx/base.txt | 5 +++-- requirements/edx/post.txt | 12 ++++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 requirements/edx/post.txt diff --git a/pavelib/prereqs.py b/pavelib/prereqs.py index 4219a9a58b..220a5387c4 100644 --- a/pavelib/prereqs.py +++ b/pavelib/prereqs.py @@ -16,6 +16,7 @@ PYTHON_REQ_FILES = [ 'requirements/edx/github.txt', 'requirements/edx/local.txt', 'requirements/edx/base.txt', + 'requirements/edx/post.txt', ] # Developers can have private requirements, for local copies of github repos, diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index 7361f5de46..2032e331ab 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -44,7 +44,6 @@ glob2==0.3 gunicorn==0.17.4 httpretty==0.8.3 lazy==1.1 -lxml==3.4.4 mako==0.9.1 Markdown==2.2.1 --allow-external meliae @@ -69,7 +68,6 @@ python-memcached==1.48 python-openid==2.2.5 python-dateutil==2.1 python-social-auth==0.2.11 -python-saml==2.1.3 pytz==2015.2 pysrt==0.4.7 PyYAML==3.10 @@ -90,6 +88,9 @@ unicodecsv==0.9.4 django-require==1.0.6 pyuca==1.1 +# This needs to be installed *after* Cython, which is in pre.txt +lxml==3.4.4 + # Used for shopping cart's pdf invoice/receipt generation reportlab==3.1.44 diff --git a/requirements/edx/post.txt b/requirements/edx/post.txt new file mode 100644 index 0000000000..30c479b3d2 --- /dev/null +++ b/requirements/edx/post.txt @@ -0,0 +1,12 @@ +# DON'T JUST ADD NEW DEPENDENCIES!!! +# +# If you open a pull request that adds a new dependency, you should notify: +# * @mollydb - to check licensing +# * support@edx.org - to check system requirements + +# This needs to be installed *after* lxml, which is in base.txt. +# python-saml pulls in lxml as a dependency, and due to a bug in setuptools, +# trying to compile lxml as a dependency causes setuptools to go into an +# infinite loop and run out of memory. Because why would you trust a +# dependency management tool to manage dependencies for you? +python-saml==2.1.3