Skip to content
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

PyPi install fails for 1.1.0 #6

Open
jcwilson opened this issue Sep 15, 2017 · 2 comments
Open

PyPi install fails for 1.1.0 #6

jcwilson opened this issue Sep 15, 2017 · 2 comments

Comments

@jcwilson
Copy link
Collaborator

Installing 1.0.3 works, however attempting to upgrade to 1.1.0 gives the following error:

Collecting falcon-auth==1.1.0
  Using cached falcon-auth-1.1.0.tar.gz
    Complete output from command python setup.py egg_info:
    Download error on https://pypi.python.org/simple/pytest-runner/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) -- Some packages may not be found!
    Couldn't find index page for 'pytest-runner' (maybe misspelled?)
    Download error on https://pypi.python.org/simple/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) -- Some packages may not be found!
    No local packages or working download links found for pytest-runner
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-xqcywq4j/falcon-auth/setup.py", line 63, in <module>
        version=version
      File "/usr/lib/python3.6/distutils/core.py", line 108, in setup
        _setup_distribution = dist = klass(attrs)
      File "/usr/lib/python3.6/site-packages/setuptools/dist.py", line 335, in __init__
        self.fetch_build_eggs(attrs['setup_requires'])
      File "/usr/lib/python3.6/site-packages/setuptools/dist.py", line 456, in fetch_build_eggs
        replace_conflicting=True,
      File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 863, in resolve
        replace_conflicting=replace_conflicting
      File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1141, in best_match
        return self.obtain(req, installer)
      File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1153, in obtain
        return installer(requirement)
      File "/usr/lib/python3.6/site-packages/setuptools/dist.py", line 522, in fetch_build_egg
        return cmd.easy_install(req)
      File "/usr/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 666, in easy_install
        raise DistutilsError(msg)
    distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('pytest-runner')

I believe this is due to a quirk of setuptools that treats setup_requires requirements a little differently than the rest. Searching for help led me to this post: pypa/pip#4156 where they mention that providing a whl file would resolve this. It turns out that 1.0.3 does indeed provide such a file: https://pypi.python.org/simple/falcon-auth/

Can you publish a whl for 1.1.0?

@jcwilson
Copy link
Collaborator Author

jcwilson commented Sep 15, 2017

If anyone else stumbles onto this, this can be caused by not having having ssl root certs installed on the system. The workaround I can use for now is to install system certs, but it would still be nice to have a whl.

@fweep
Copy link

fweep commented Oct 17, 2017

This is a problem if you use a local PyPI repository. When it hits this package, it ignores your local repo and tries to install directly from https://pypi.python.org/simple. At my company, we're only allowed to install from https://artifactory.example.com/artifactory/api/pypi/pypi/simple [redacted]. While installing the SSL cert might work, it's not going to help in my situation, as we're not supposed to reach out to external repos like this.

This was introduced in this commit: 6f6c6f1. I'm not sure why it just started happening now; possibly something else in Falcon forced the version to update.

I was able to get around this by going back to falcon-auth 1.0.0 (early April 2017). I don't know the most-correct fix for this, but it may be that pytest-runner belongs in tests_require instead. This is the only package I install that behaves this way, and surely other packages are using pytest.

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

No branches or pull requests

2 participants