chanzuckerberg / cellxgene

An interactive explorer for single-cell transcriptomics data
https://chanzuckerberg.github.io/cellxgene/
MIT License
634 stars 119 forks source link

CLI: omitting --title generates big Python splat #269

Closed bkmartinjr closed 6 years ago

bkmartinjr commented 6 years ago

If you fail to include --title in the command line args, a large error is generated.

# cellxgene  scanpy ./example-dataset/
Traceback (most recent call last):
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/bin/cellxgene", line 11, in <module>
    load_entry_point('cellxgene', 'console_scripts', 'cellxgene')()
  File "/mnt/c/Users/bruce/projects/cellxgene/server/app/app.py", line 75, in main
    args.func(args)
  File "/mnt/c/Users/bruce/projects/cellxgene/server/app/app.py", line 58, in run_scanpy
    graph_method=args.layout, diffexp_method=args.diffexp)
  File "/mnt/c/Users/bruce/projects/cellxgene/server/app/scanpy_engine/scanpy_engine.py", line 15, in __init__
    self.data = self._load_data(data)
  File "/mnt/c/Users/bruce/projects/cellxgene/server/app/scanpy_engine/scanpy_engine.py", line 40, in _load_data
    return sc.read(os.path.join(data, "data.h5ad"))
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages/scanpy/readwrite.py", line 72, in read
    backup_url=backup_url, cache=cache)
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages/scanpy/readwrite.py", line 275, in _read
    return read_h5ad(filename, backed=backed)
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages/anndata/readwrite/read.py", line 344, in read_h5ad
    d = _read_h5ad(filename=filename)
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages/anndata/readwrite/read.py", line 371, in _read_h5ad
    f = h5py.File(filename, 'r')
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages/anndata/h5py/h5sparse.py", line 110, in __init__
    **kwds,
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages/h5py/_hl/files.py", line 312, in __init__
    fid = make_fid(name, mode, userblock_size, fapl, swmr=swmr)
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages/h5py/_hl/files.py", line 142, in make_fid
    fid = h5f.open(name, flags, fapl=fapl)
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "h5py/h5f.pyx", line 78, in h5py.h5f.open
OSError: Unable to open file (unable to open file: name = './example-dataset/data.h5ad', errno = 2, error message = 'No such file or directory', flags = 0, o_flags = 0)
csweaver commented 6 years ago

unable to reproduce. Could you try again? cellxgene scanpy ./example-dataset/

bkmartinjr commented 6 years ago

Still able to reproduce. A bit more info here, showing that my repo is up to date, and I did a build, install and run (failed).

Way down at the bottom is:

pkg_resources.ContextualVersionConflict: (anndata 0.6.1 (/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages), Requirement.parse('anndata>=0.6.10'), {'scanpy'})

Looks like some sort of scanpy dependency issue gets thrown, but not caught. So possibly two issues:


The detailed logs

(cellxgene) # git checkout master
Already on 'master'
Your branch is up-to-date with 'origin/master'.
(cellxgene) # git pull
Already up-to-date.
(cellxgene) # ./bin/build-client
npm WARN eslint-loader@1.9.0 requires a peer of eslint@>=1.6.0 <5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN sw-precache-webpack-plugin@0.7.2 requires a peer of webpack@^1 || ^2.1.0-beta || ^2.2.0-beta but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

audited 34129 packages in 10.817s
found 0 vulnerabilities

> cellxgene@0.0.1 build /mnt/c/Users/bruce/projects/cellxgene/client
> npm run clean && webpack --config configuration/webpack/webpack.config.prod.js

> cellxgene@0.0.1 clean /mnt/c/Users/bruce/projects/cellxgene/client
> rimraf build

(node:3323) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
Caching static resource "/mnt/c/Users/bruce/projects/cellxgene/client/build/static/css/main.1780b4e4.css" (988 B)
Caching static resource "/mnt/c/Users/bruce/projects/cellxgene/client/build/static/js/main.7c8ad655.js" (746.16 kB)
Caching static resource "/mnt/c/Users/bruce/projects/cellxgene/client/build/static/css/main.1780b4e4.css.map" (1.63 kB)
Caching static resource "/mnt/c/Users/bruce/projects/cellxgene/client/build/static/js/main.7c8ad655.js.map" (763.32 kB)
Caching static resource "/mnt/c/Users/bruce/projects/cellxgene/client/build/favicon.png" (4.51 kB)
Caching static resource "/mnt/c/Users/bruce/projects/cellxgene/client/build/index.html" (747.7 kB)
Total precache size is about 2.26 MB for 6 resources.
Hash: 2f9636ace057669c5b62
Version: webpack 4.16.5
Time: 8158ms
Built at: 10/10/2018 4:39:15 PM
                           Asset       Size  Chunks                    Chunk Names
    static/css/main.1780b4e4.css  988 bytes       0  [emitted]         main
      static/js/main.7c8ad655.js    728 KiB       0  [emitted]  [big]  main
static/css/main.1780b4e4.css.map   1.59 KiB       0  [emitted]         main
  static/js/main.7c8ad655.js.map    745 KiB       0  [emitted]         main
                     favicon.png   4.41 KiB          [emitted]
                      index.html    730 KiB          [emitted]  [big]
Entrypoint main [big] = static/css/main.1780b4e4.css static/js/main.7c8ad655.js static/css/main.1780b4e4.css.map static/js/main.7c8ad655.js.map
 [15] (webpack)/buildin/global.js 489 bytes {0} [built]
 [57] (webpack)/buildin/module.js 497 bytes {0} [built]
 [97] multi ./src/index 28 bytes {0} [built]
[112] (webpack)/buildin/harmony-module.js 573 bytes {0} [built]
[217] ./src/index.js + 611 modules 765 KiB {0} [built]
      | ./src/middleware/updateURLMiddleware.js 3.29 KiB [built]
      | ./src/index.js 945 bytes [built]
      | ./src/reducers/controls.js 9.6 KiB [built]
      | ./src/reducers/responsive.js 401 bytes [built]
      | ./src/reducers/differential.js 1.23 KiB [built]
      | ./src/reducers/config.js 635 bytes [built]
      | ./src/middleware/updateCellColors.js 3.85 KiB [built]
      | ./src/reducers/index.js 698 bytes [built]
      | ./src/actions/index.js 9.11 KiB [built]
      | ./src/globals.js 2.89 KiB [built]
      | ./src/util/typedCrossfilter/index.js 16.6 KiB [built]
      | ./src/util/parseRGB.js 831 bytes [built]
      | ./src/util/scaleLinear.js 596 bytes [built]
      | ./src/util/camera.js 1.73 KiB [built]
      | ./src/util/actionHelpers.js 946 bytes [built]
      |     + 597 hidden modules
[218] ./node_modules/gl-matrix/src/gl-matrix.js + 10 modules 168 KiB {0} [built]
      |    11 modules
    + 213 hidden modules

WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
This can impact web performance.
Assets:
  static/js/main.7c8ad655.js (728 KiB)
  index.html (730 KiB)

WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
Entrypoints:
  main (729 KiB)
      static/css/main.1780b4e4.css
      static/js/main.7c8ad655.js

WARNING in webpack performance recommendations:
You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.
For more info visit https://webpack.js.org/guides/code-splitting/
Child html-webpack-plugin for "index.html":
     1 asset
    Entrypoint undefined = index.html
    [0] ./node_modules/html-webpack-plugin/lib/loader.js!./index_template.html 976 bytes {0} [built]
    [2] (webpack)/buildin/global.js 489 bytes {0} [built]
    [3] (webpack)/buildin/module.js 497 bytes {0} [built]
        + 1 hidden module
Child mini-css-extract-plugin node_modules/css-loader/index.js??ref--5-1!node_modules/postcss-loader/lib/index.js??ref--5-2!src/components/framework/buttons.css:
    Entrypoint mini-css-extract-plugin = *
       2 modules
Child mini-css-extract-plugin node_modules/css-loader/index.js??ref--5-1!node_modules/postcss-loader/lib/index.js??ref--5-2!src/components/framework/container.css:
    Entrypoint mini-css-extract-plugin = *
       2 modules
Child mini-css-extract-plugin node_modules/css-loader/index.js??ref--5-1!node_modules/postcss-loader/lib/index.js??ref--5-2!src/components/graph/graph.css:
    Entrypoint mini-css-extract-plugin = *
       2 modules
Child mini-css-extract-plugin node_modules/css-loader/index.js??ref--5-1!node_modules/postcss-loader/lib/index.js??ref--5-2!src/components/scatterplot/scatterplot.css:
    Entrypoint mini-css-extract-plugin = *
       2 modules
(cellxgene) # pip install -e .
Obtaining file:///mnt/c/Users/bruce/projects/cellxgene
Requirement already satisfied: anndata in ./cellxgene/lib/python3.6/site-packages (from cellxgene==0.0.1) (0.6.1)
Requirement already satisfied: Flask==0.12.4 in ./cellxgene/lib/python3.6/site-packages (from cellxgene==0.0.1) (0.12.4)
Requirement already satisfied: Flask-Caching==1.4.0 in ./cellxgene/lib/python3.6/site-packages (from cellxgene==0.0.1) (1.4.0)
Requirement already satisfied: Flask-Compress==1.4.0 in ./cellxgene/lib/python3.6/site-packages (from cellxgene==0.0.1) (1.4.0)
Requirement already satisfied: Flask-Cors==3.0.6 in ./cellxgene/lib/python3.6/site-packages (from cellxgene==0.0.1) (3.0.6)
Requirement already satisfied: Flask-RESTful==0.3.6 in ./cellxgene/lib/python3.6/site-packages (from cellxgene==0.0.1) (0.3.6)
Requirement already satisfied: flask-restful-swagger-2==0.35 in ./cellxgene/lib/python3.6/site-packages (from cellxgene==0.0.1) (0.35)
Requirement already satisfied: numpy==1.14.5 in ./cellxgene/lib/python3.6/site-packages (from cellxgene==0.0.1) (1.14.5)
Requirement already satisfied: pandas==0.23.1 in ./cellxgene/lib/python3.6/site-packages (from cellxgene==0.0.1) (0.23.1)
Requirement already satisfied: scanpy==1.3.1 in ./cellxgene/lib/python3.6/site-packages (from cellxgene==0.0.1) (1.3.1)
Requirement already satisfied: scipy==1.1.0 in ./cellxgene/lib/python3.6/site-packages (from cellxgene==0.0.1) (1.1.0)
Requirement already satisfied: natsort in ./cellxgene/lib/python3.6/site-packages (from anndata->cellxgene==0.0.1) (5.3.2)
Requirement already satisfied: h5py in ./cellxgene/lib/python3.6/site-packages (from anndata->cellxgene==0.0.1) (2.8.0)
Requirement already satisfied: Werkzeug>=0.7 in ./cellxgene/lib/python3.6/site-packages (from Flask==0.12.4->cellxgene==0.0.1) (0.14.1)
Requirement already satisfied: itsdangerous>=0.21 in ./cellxgene/lib/python3.6/site-packages (from Flask==0.12.4->cellxgene==0.0.1) (0.24)
Requirement already satisfied: click>=2.0 in ./cellxgene/lib/python3.6/site-packages (from Flask==0.12.4->cellxgene==0.0.1) (6.7)
Requirement already satisfied: Jinja2>=2.4 in ./cellxgene/lib/python3.6/site-packages (from Flask==0.12.4->cellxgene==0.0.1) (2.10)
Requirement already satisfied: Six in ./cellxgene/lib/python3.6/site-packages (from Flask-Cors==3.0.6->cellxgene==0.0.1) (1.11.0)
Requirement already satisfied: pytz in ./cellxgene/lib/python3.6/site-packages (from Flask-RESTful==0.3.6->cellxgene==0.0.1) (2018.4)
Requirement already satisfied: aniso8601>=0.82 in ./cellxgene/lib/python3.6/site-packages (from Flask-RESTful==0.3.6->cellxgene==0.0.1) (3.0.2)
Requirement already satisfied: python-dateutil>=2.5.0 in ./cellxgene/lib/python3.6/site-packages (from pandas==0.23.1->cellxgene==0.0.1) (2.7.3)
Requirement already satisfied: matplotlib>=2.2 in ./cellxgene/lib/python3.6/site-packages (from scanpy==1.3.1->cellxgene==0.0.1) (2.2.2)
Requirement already satisfied: seaborn in ./cellxgene/lib/python3.6/site-packages (from scanpy==1.3.1->cellxgene==0.0.1) (0.8.1)
Requirement already satisfied: tables in ./cellxgene/lib/python3.6/site-packages (from scanpy==1.3.1->cellxgene==0.0.1) (3.4.4)
Requirement already satisfied: scikit-learn>=0.19.1 in ./cellxgene/lib/python3.6/site-packages (from scanpy==1.3.1->cellxgene==0.0.1) (0.19.1)
Requirement already satisfied: statsmodels in ./cellxgene/lib/python3.6/site-packages (from scanpy==1.3.1->cellxgene==0.0.1) (0.9.0)
Requirement already satisfied: networkx in ./cellxgene/lib/python3.6/site-packages (from scanpy==1.3.1->cellxgene==0.0.1) (2.1)
Requirement already satisfied: joblib in ./cellxgene/lib/python3.6/site-packages (from scanpy==1.3.1->cellxgene==0.0.1) (0.12.0)
Requirement already satisfied: numba in ./cellxgene/lib/python3.6/site-packages (from scanpy==1.3.1->cellxgene==0.0.1) (0.38.1)
Requirement already satisfied: MarkupSafe>=0.23 in ./cellxgene/lib/python3.6/site-packages (from Jinja2>=2.4->Flask==0.12.4->cellxgene==0.0.1) (1.0)
Requirement already satisfied: kiwisolver>=1.0.1 in ./cellxgene/lib/python3.6/site-packages (from matplotlib>=2.2->scanpy==1.3.1->cellxgene==0.0.1) (1.0.1)
Requirement already satisfied: cycler>=0.10 in ./cellxgene/lib/python3.6/site-packages (from matplotlib>=2.2->scanpy==1.3.1->cellxgene==0.0.1) (0.10.0)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in ./cellxgene/lib/python3.6/site-packages (from matplotlib>=2.2->scanpy==1.3.1->cellxgene==0.0.1) (2.2.0)
Requirement already satisfied: numexpr>=2.5.2 in ./cellxgene/lib/python3.6/site-packages (from tables->scanpy==1.3.1->cellxgene==0.0.1) (2.6.5)
Requirement already satisfied: patsy in ./cellxgene/lib/python3.6/site-packages (from statsmodels->scanpy==1.3.1->cellxgene==0.0.1) (0.5.0)
Requirement already satisfied: decorator>=4.1.0 in ./cellxgene/lib/python3.6/site-packages (from networkx->scanpy==1.3.1->cellxgene==0.0.1) (4.3.0)
Requirement already satisfied: llvmlite>=0.23.0dev0 in ./cellxgene/lib/python3.6/site-packages (from numba->scanpy==1.3.1->cellxgene==0.0.1) (0.23.2)
Requirement already satisfied: setuptools in ./cellxgene/lib/python3.6/site-packages (from kiwisolver>=1.0.1->matplotlib>=2.2->scanpy==1.3.1->cellxgene==0.0.1) (39.0.1)
Installing collected packages: cellxgene
  Found existing installation: cellxgene 0.0.1
    Uninstalling cellxgene-0.0.1:
      Successfully uninstalled cellxgene-0.0.1
  Running setup.py develop for cellxgene
Successfully installed cellxgene

(cellxgene) # cellxgene scanpy ./example-dataset/
Traceback (most recent call last):
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages/pkg_resources/__init__.py", line 574, in _build_master
    ws.require(__requires__)
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages/pkg_resources/__init__.py", line 892, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages/pkg_resources/__init__.py", line 783, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (anndata 0.6.1 (/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages), Requirement.parse('anndata>=0.6.10'), {'scanpy'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/bin/cellxgene", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3088, in <module>
    @_call_aside
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3072, in _call_aside
    f(*args, **kwargs)
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3101, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages/pkg_resources/__init__.py", line 576, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages/pkg_resources/__init__.py", line 589, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages/pkg_resources/__init__.py", line 783, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (anndata 0.6.1 (/mnt/c/Users/bruce/projects/cellxgene/cellxgene/lib/python3.6/site-packages), Requirement.parse('anndata>=0.6.10'), {'scanpy'})
(cellxgene) #