Repository: common-workflow-language/cwltool

Issue:
pip install cwltool fails due to broken psutil version
Hello,
It looks like the latest release of psutil is broken, and the version is not bounded in the cwltool requirements;
```
[mdb@h-0000 kegg-cwl]$ pip install cwltool==1.0.20181217162649
Collecting cwltool==1.0.20181217162649
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/9f/ab/d2c672e36133346b7fede41312e4b8da31cba331bfb2c02a4e6f2ed3d565/cwltool-1.0.20181217162649-py2.py3-none-any.whl (628kB)
    100% |████████████████████████████████| 634kB 2.2MB/s 
Collecting bagit>=1.6.4 (from cwltool==1.0.20181217162649)
  Cache entry deserialization failed, entry ignored
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/lib/python2.7/site-packages (from cwltool==1.0.20181217162649)
Collecting prov==1.5.1 (from cwltool==1.0.20181217162649)
  Cache entry deserialization failed, entry ignored
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/8e/fb/2c4c618185be2bda327f9dacd16b3122cc938809f19df7be840595d0e584/prov-1.5.1-py2.py3-none-any.whl (426kB)
    100% |████████████████████████████████| 430kB 3.3MB/s 
Collecting mypy-extensions (from cwltool==1.0.20181217162649)
  Cache entry deserialization failed, entry ignored
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/4d/72/8d54e2b296631b9b14961d583e56e90d9d7fba8a240d5ce7f1113cc5e887/mypy_extensions-0.4.1-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): typing>=3.5.3; python_version < "3.6" in /usr/lib/python2.7/site-packages (from cwltool==1.0.20181217162649)
Requirement already satisfied (use --upgrade to upgrade): rdflib<4.3.0,>=4.2.2 in /usr/lib/python2.7/site-packages (from cwltool==1.0.20181217162649)
Collecting ruamel.yaml<=0.15.77,>=0.12.4 (from cwltool==1.0.20181217162649)
  Cache entry deserialization failed, entry ignored
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/9a/f3/96df89eb8fd542dcb7bfdaecd79c7642c6d272b122dc2e96d237fa57fcd1/ruamel.yaml-0.15.77-cp27-cp27mu-manylinux1_x86_64.whl (609kB)
    100% |████████████████████████████████| 614kB 2.2MB/s 
Collecting psutil (from cwltool==1.0.20181217162649)
  Cache entry deserialization failed, entry ignored
Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/site-packages/pip/commands/install.py", line 307, in run
    requirement_set.prepare_files(finder)
  File "/usr/lib/python2.7/site-packages/pip/req/req_set.py", line 370, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/usr/lib/python2.7/site-packages/pip/req/req_set.py", line 587, in _prepare_file
    session=self.session, hashes=hashes)
  File "/usr/lib/python2.7/site-packages/pip/download.py", line 798, in unpack_url
    unpack_file_url(link, location, download_dir, hashes=hashes)
  File "/usr/lib/python2.7/site-packages/pip/download.py", line 705, in unpack_file_url
    unpack_file(from_path, location, content_type, link)
  File "/usr/lib/python2.7/site-packages/pip/utils/__init__.py", line 599, in unpack_file
    flatten=not filename.endswith('.whl')
  File "/usr/lib/python2.7/site-packages/pip/utils/__init__.py", line 484, in unzip_file
    zip = zipfile.ZipFile(zipfp, allowZip64=True)
  File "/usr/lib64/python2.7/zipfile.py", line 766, in __init__
    self._RealGetContents()
  File "/usr/lib64/python2.7/zipfile.py", line 807, in _RealGetContents
    raise BadZipfile, "File is not a zip file"
BadZipfile: File is not a zip file
```

A possible fix is to install `pip install psutil==5.6.1` prior to install cwltool.


Discussion:
Thanks.  Could you make a pull request to pin the psutil version to <=5.6.1 ?
Not sure if related but does not seem to work here...?

```
➜  pip install psutil==5.6.1
Requirement already satisfied: psutil==5.6.1 in /Users/jasperkoehorst/anaconda3/lib/python3.7/site-packages (5.6.1)
➜ conda install -c bioconda cwltool

WARNING: The conda.compat module is deprecated and will be removed in a future release.
Collecting package metadata: done
Solving environment: failed

UnsatisfiableError: The following specifications were found to be in conflict:
  - cwltool
Use "conda search <package> --info" to see the dependencies for each package.
```

And the package also does not exist?

```
➜ conda search cwltool --info
WARNING: The conda.compat module is deprecated and will be removed in a future release.
Loading channels: done
No match found for: cwltool. Search: *cwltool*

PackagesNotFoundError: The following packages are not available from current channels:

  - cwltool

Current channels:

  - https://repo.anaconda.com/pkgs/main/osx-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/free/osx-64
  - https://repo.anaconda.com/pkgs/free/noarch
  - https://repo.anaconda.com/pkgs/r/osx-64
  - https://repo.anaconda.com/pkgs/r/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.
```

The following command seems to work:

```
conda install -c conda-forge cwltool
```
hi @mb1069 it looks like maybe it has already been fixed by upstream?  It might still be a good idea to set an upper range on the `psutil` package to avoid trouble like this in the future, though.
@jjkoehorst I'm only able to support the PyPi package.  I believe @chapmanb was originally maintaining the Conda package for cwltool but I don't know if he is still able to do so.
> @jjkoehorst I'm only able to support the PyPi package. I believe @chapmanb was originally maintaining the Conda package for cwltool but I don't know if he is still able to do so.

No problem, I just wanted to try CWL on my laptop and the last command did the trick to properly install it on my system.
@tetron  I created a PR (https://github.com/common-workflow-language/cwltool/pull/1130) 

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -115,7 +115,7 @@
         # https://github.com/common-workflow-language/schema_salad/issues/385
         "schema-salad >= 7.1.20210518142926, < 8",
         "mypy-extensions",
-        "psutil",
+        "psutil != 5.6.1",
         "prov == 1.5.1",
         "bagit >= 1.6.4",
         "typing-extensions",


Test patch: