dkoslicki / CMash

Fast and accurate set similarity estimation via containment min hash
BSD 3-Clause "New" or "Revised" License
42 stars 9 forks source link

Installation woes -- TLSV1_ALERT_PROTOCOL_VERSION and pytest-runner #3

Closed rsharris closed 6 years ago

rsharris commented 6 years ago

Cloned master branch today; install fails with this error (all on one line) Download error on https://pypi.org/simple/pytest-runner/: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) -- Some packages may not be found! Because of that, it fails to find a suitable version of pytest-runner: distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('pytest-runner<3dev,>=2.0')

I'm aware of what TLSV1_ALERT_PROTOCOL_VERSION is, and have updated my own versions of pip and virtualenv (today).

I'm parroting the installation steps pretty closely: cd somepath/cmash source somepath/cmash/cmash_venv/bin/activate pip install --upgrade pip Requirement already up-to-date: pip in ./cmash_venv/lib/python2.7/site-packages (18.0) git clone https://github.com/dkoslicki/CMash.git mv CMash cmash-master.aug_2_2018 cd somepath/cmash/cmash-master.aug_2_2018 pip install -r requirements.txt

The install is what fails. Full log below.

I'm a little baffled. I'm running the pip inside the VE (which ought to be the correct one). And if I search for pytest-runner it finds one, without getting any protocol error. source somepath/cmash/cmash_venv/bin/activate pip --version pip 18.0 from somepath/cmash/cmash_venv/lib/python2.7/site-packages/pip (python 2.7) pip search pytest-runner (many other packages) pytest-runner (4.2) - Invoke py.test as distutils command with dependency resolution

Thanks for any suggestions.

Looking in indexes: https://pypi.python.org/simple/ Obtaining file://somepath/cmash/cmash-master.aug_2_2018 (from -r requirements.txt (line 3)) Collecting khmer>=2.1.1 (from CMash==0.3.0->-r requirements.txt (line 3)) Using cached https://files.pythonhosted.org/packages/78/c9/caee0a310f249c86fd351706d2513e197e036231f4db6f3bda7a363ea1c4/khmer-2.1.1.tar.gz Complete output from command python setup.py egg_info: Download error on https://pypi.org/simple/pytest-runner/: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) -- Some packages may not be found! Couldn't find index page for 'pytest-runner' (maybe misspelled?) Download error on https://pypi.org/simple/: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) -- Some packages may not be found! No local packages or working download links found for pytest-runner<3dev,>=2.0 Traceback (most recent call last): File "", line 1, in File "/private/var/folders/p3/6sl53f_s4yz5fm1n3mbbd57w0000gp/T/pip-install-aJCcSA/khmer/setup.py", line 304, in setup(cmdclass=CMDCLASS, **SETUP_METADATA) File "somepath/cmash/cmash_venv/lib/python2.7/site-packages/setuptools/init.py", line 130, in setup _install_setup_requires(attrs) File "somepath/cmash/cmash_venv/lib/python2.7/site-packages/setuptools/init.py", line 125, in _install_setup_requires dist.fetch_build_eggs(dist.setup_requires) File "somepath/cmash/cmash_venv/lib/python2.7/site-packages/setuptools/dist.py", line 514, in fetch_build_eggs replace_conflicting=True, File "somepath/cmash/cmash_venv/lib/python2.7/site-packages/pkg_resources/init.py", line 773, in resolve replace_conflicting=replace_conflicting File "somepath/cmash/cmash_venv/lib/python2.7/site-packages/pkg_resources/init.py", line 1056, in best_match return self.obtain(req, installer) File "somepath/cmash/cmash_venv/lib/python2.7/site-packages/pkg_resources/init.py", line 1068, in obtain return installer(requirement) File "somepath/cmash/cmash_venv/lib/python2.7/site-packages/setuptools/dist.py", line 581, in fetch_build_egg return cmd.easy_install(req) File "somepath/cmash/cmash_venv/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 670, in easy_install raise DistutilsError(msg) distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('pytest-runner<3dev,>=2.0')

dkoslicki commented 6 years ago

Very odd! Especially since I did a clean install yesterday without issue. It may actually be a problem with khmer as the install appears to start failing when running khmer’s setup.py, but I’ll take a closer look this evening.

rsharris commented 6 years ago

Before I upgraded my pip and virtualenv, I did have a similar problem with cmash's attempt to install khmer. But in that case a standalone "pip search" was unable to find khmer and reported that protocol issue. Upgrading pip and virtualenv fixed that for khmer.

It kind seems like when it's trying to install pytest-runner it's using a different pip.

My need isn't urgent. I had an idea relating to my SBT work in which I wanted to look at how similar the leaves of my sbt are (not the leaf BFs, but the fastq files they represent), to each other and to the union (of all of them). CMash seems like the right tool.

dkoslicki commented 6 years ago

Just an update on this: I've been unable to replicate this error on two different machines (with two different versions of linux, python, pip, etc.).

rsharris commented 6 years ago

Thanks. I'll try installing it on a different machine, and see what happens.

rsharris commented 6 years ago

I finally tried the install on a fresh machine, and it has succeeded.

Not sure what is different about the machines. The hardware is very similar -- both are the same model iMac. The one that succeeded is "late 2015", the one that failed is a year or so newer. The one that succeeded is running High Sierra, while the failed one is still running Sierra.

dkoslicki commented 6 years ago

That's quite odd! I honestly haven't tried installing it on a Mac before (intending this to be run with Linux), so that's probably why I couldn't reproduce it.

rsharris commented 6 years ago

Also able to install it on a linux machine today, with no problem.

Macs often look pretty similar to linux for this kind of thing. But my only motivation for installing it on the mac(s) was to fiddle with it in an environment where I don't have to use a remote shell. My real use will be on the linux machine I installed it on today.

Anyway, I don't know why it failed on that first mac. But I don't need to.

dkoslicki commented 6 years ago

Ok, sounds good! I'll close this issue then.