Skip to content

Conversation

@Natim
Copy link
Contributor

@Natim Natim commented Jan 14, 2016

You can try the wheel here with:

pip install http://hubscher.remy.free.fr/wheel/acme-0.2.0.dev0-py2-none-any.whl

acme/setup.py Outdated
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please leave explicit inline comment reference to 2.7.8 as the last one requiring those packages. this comment should also be moved and merge with the one before branching condition

@kuba
Copy link
Contributor

kuba commented Jan 14, 2016

FTR We should really be building universal wheels (for both py2 and py3), so this PR doesn't really fix the general problem: #2176.

@kuba
Copy link
Contributor

kuba commented Jan 14, 2016

010a2ef was created on the assumption that Python 2.6 is not supported, which is not true. As far as I understand we cannot use extras and tags for that.

@Natim Natim force-pushed the 2175-broken-wheel-dependencies branch from aba1068 to 661087f Compare January 14, 2016 09:59
@Natim
Copy link
Contributor Author

Natim commented Jan 14, 2016

This last commit make it possible to use universal build as well as letting older pip version to correctly install the package.

acme/setup.py Outdated
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you mean to put this in extras_require rather than install_requires? I don't see how it's ever going to get brought in unless somebody requests it manually.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strike that; they work locally for me, though the >< logic seems to operate backward...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

though the >< logic seems to operate backward...

We want the extra dependencies for old version of python lower than 2.7.9

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right. Pip 7.1.2 literally does the wrong thing for me. It's bizarre.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have updated by removing the conditional appending to install_requires. Can you try again? (building the wheel from this branch)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With python 2.7.9 it still install ndg-httpsclient-0.4.0

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For future reference, the trouble turned out to be that setuptools doesn't yet support the comparators < and > in env markers.

@pde
Copy link
Member

pde commented Jan 14, 2016

I'm trying to get this to pass test farm tests, but it's most likely we'll go with #2182 for the 0.2.0 release and then try to land some version of this later...

@Natim
Copy link
Contributor Author

Natim commented Jan 14, 2016

@pde Yes it cannot harm anyone 👍

@Natim Natim closed this Jan 14, 2016
@Natim
Copy link
Contributor Author

Natim commented Jan 14, 2016

@pde do not forget to add the setup.cfg to build universal wheel :)

@pde
Copy link
Member

pde commented Jan 14, 2016

Meanwhile, I did just get this to pass test farm tests. So perhaps we can consider it for 0.2.1:

python multitester.py  targets.yaml ~/.ssh/pde-amazon2.pem pde scripts/test_letsencrypt_auto_certonly_standalone.sh --branch 2175-broken-wheel-dependencies
Making local dir for test repo and logs: letest-1452801565
[localhost] local: mkdir letest-1452801565
Making local git repo
Testing branch 2175-broken-wheel-dependencies of https://github.com/letsencrypt/letsencrypt.git
[localhost] local: if [ -d letsencrypt ]; then rm -rf letsencrypt; fi
[localhost] local: git clone https://github.com/letsencrypt/letsencrypt.git --branch 2175-broken-wheel-dependencies --single-branch
Cloning into 'letsencrypt'...
remote: Counting objects: 26362, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 26362 (delta 0), reused 3 (delta 0), pack-reused 26356
Receiving objects: 100% (26362/26362), 7.06 MiB | 3.94 MiB/s, done.
Resolving deltas: 100% (18611/18611), done.
Checking connectivity... done.
[localhost] local: tar czf le.tar.gz letsencrypt
Testing against these images: [14 total]
ami-26d5af4c ubuntu15.10
ami-d92e6bb3 ubuntu15.04LTS
ami-7b89cc11 ubuntu14.04LTS
ami-9295d0f8 ubuntu14.04LTS_32bit
ami-0611546c ubuntu12.04LTS
ami-116d857a debian8.1
ami-e0efab88 debian7.8.aws.1
ami-e6eeaa8e debian7.8.aws.1_32bit
ami-60b6c60a amazonlinux-2015.09.1
ami-0d4cfd66 amazonlinux-2015.03.1
ami-a8d369c0 RHEL7
ami-518bfb3b fedora23
ami-61bbf104 centos7
ami-57cd8732 centos6
Connecting to EC2 using
 profile pde
 keyname pde-amazon2
 keyfile /home/pde/.ssh/pde-amazon2.pem
Making Security Group
  letsencrypt_test already exists
Requesting Instances...
Found existing boulder server: ec2.Instance(id='i-cdf4af4c')
Creating instances: le-ubuntu15.10 le-ubuntu15.04LTS le-ubuntu14.04LTS le-ubuntu14.04LTS_32bit le-ubuntu12.04LTS le-debian8.1 le-debian7.8.aws.1 le-debian7.8.aws.1_32bit le-amazonlinux-2015.09.1 le-amazonlinux-2015.03.1 le-RHEL7 le-fedora23 le-centos7 le-centos6 
Waiting on Boulder Server
 server ec2.Instance(id='i-cdf4af4c')
Boulder Server at (SSH): ubuntu@54.209.116.22
Boulder Server at (public ip): http://54.209.116.22:4000/directory
Boulder Server at (EC2 private ip): http://172.31.54.176:4000/directory
Uploading and running test script in parallel: scripts/test_letsencrypt_auto_certonly_standalone.sh
Output routed to log files in letest-1452801565
[localhost] local: rm le.tar.gz
0 ubuntu15.10 pass
1 ubuntu15.04LTS pass
2 ubuntu14.04LTS pass
3 ubuntu14.04LTS_32bit pass
4 ubuntu12.04LTS pass
5 debian8.1 pass
6 debian7.8.aws.1 pass
7 debian7.8.aws.1_32bit pass
8 amazonlinux-2015.09.1 pass
9 amazonlinux-2015.03.1 pass
10 RHEL7 pass
11 fedora23 pass
12 centos7 pass
13 centos6 pass
Logs in  letest-1452801565
Terminating EC2 Instances and Cleaning Dangling EBS Volumes

erikrose added a commit that referenced this pull request Jan 14, 2016
None of this is ideal, since we're making the dependencies tighter than they theoretically need to be, but the behavior of the old le-auto makes this necessary to make it succeed in practice (when using LE wheels).

Once we move to the new le-auto (which pins everything and makes setup.py dependencies irrelevant for auto installs), we should redo this using env markers as in #2177.

Note that argparse *does* actually get installed by the old le-auto but only because we luck out and ConfigArgParse requires it. Since we do import argparse directly, we should make sure it's always a direct dependency.
erikrose added a commit that referenced this pull request Jan 14, 2016
None of this is ideal, since we're making the dependencies tighter than they theoretically need to be, but the behavior of the old le-auto makes this necessary to make it succeed in practice (when using LE wheels).

Once we move to the new le-auto (which pins everything and makes setup.py dependencies irrelevant for auto installs), we should redo this using env markers as in #2177. We're too afraid to do it now.

Similarly, we're too afraid to change how we handle argparse right now, despite that it should be required directly by us under 2.6. In practice, ConfigArgParse pulls it in for us, so we're okay as long as it continues to do that.
@pde
Copy link
Member

pde commented Jan 20, 2016

Reopening this for consideration for 0.3.0...

@pde pde reopened this Jan 20, 2016
@pde pde added this to the 0.3.0 milestone Jan 20, 2016
@Natim
Copy link
Contributor Author

Natim commented Jan 21, 2016

Let me rebase that first.

@Natim Natim force-pushed the 2175-broken-wheel-dependencies branch from 54c0976 to b8690cd Compare January 21, 2016 09:48
@Natim
Copy link
Contributor Author

Natim commented Jan 21, 2016

IMHO, This should be sufficient.

@erikrose
Copy link
Member

lgtm! (Though this ticket could more accurately be renamed "build Python-3-compatible wheels".)

erikrose added a commit that referenced this pull request Jan 21, 2016
Build a Python-3-compatible wheel for acme.
@erikrose erikrose merged commit 09d5dcb into certbot:master Jan 21, 2016
@bmw bmw added the area: acme label Jan 21, 2016
@kuba
Copy link
Contributor

kuba commented Jan 21, 2016

Merging this without fixing setup.py doesn't look like a good idea.

@Natim
Copy link
Contributor Author

Natim commented Jan 21, 2016 via email

@erikrose
Copy link
Member

What was wrong with setup.py?

@Natim Natim deleted the 2175-broken-wheel-dependencies branch January 22, 2016 09:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants