Repository: vaexio/vaex

Issue:
`from_pandas` missing h5py in vaex-core
Reproduce environment:

```sh
conda create -n vaex_from_pandas_issue vaex-core pandas -c conda-forge
conda activate vaex_from_pandas_issue
```

Trigger problem:

```python
import vaex as vx
import pandas as pd
vx.from_pandas(pd.DataFrame({'x': (1,2,3), 'y': (4,5,6)}))
```


Discussion:
The fix is probably to add h5py to the conda dependencies for vaex-core.
Thanks for this! 

Can you please also provide the error traceback?
```pytb
ERROR:MainThread:vaex:error evaluating: x at rows 0-3
Traceback (most recent call last):
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/dataframe.py", line 3376, in table_part
    values[name] = self.evaluate(name, i1=k1, i2=k2)
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/dataframe.py", line 4713, in evaluate
    value = scope.evaluate(expression)
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/scopes.py", line 86, in evaluate
    result = self[expression]
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/scopes.py", line 111, in __getitem__
    if self.df._needs_copy(variable):
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/dataframe.py", line 5032, in _needs_copy
    import vaex.file.other
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/file/__init__.py", line 10, in <module>
    import vaex.file.other
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/file/other.py", line 26, in <module>
    from vaex.dataset_mmap import DatasetMemoryMapped
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/dataset_mmap.py", line 31, in <module>
    import h5py
ModuleNotFoundError: No module named 'h5py'
ERROR:MainThread:vaex:error evaluating: y at rows 0-3
Traceback (most recent call last):
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/dataframe.py", line 3376, in table_part
    values[name] = self.evaluate(name, i1=k1, i2=k2)
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/dataframe.py", line 4713, in evaluate
    value = scope.evaluate(expression)
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/scopes.py", line 86, in evaluate
    result = self[expression]
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/scopes.py", line 111, in __getitem__
    if self.df._needs_copy(variable):
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/dataframe.py", line 5032, in _needs_copy
    import vaex.file.other
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/file/__init__.py", line 10, in <module>
    import vaex.file.other
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/file/other.py", line 26, in <module>
    from vaex.dataset_mmap import DatasetMemoryMapped
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/dataset_mmap.py", line 31, in <module>
    import h5py
ModuleNotFoundError: No module named 'h5py'
ERROR:MainThread:vaex:error evaluating: index at rows 0-3
Traceback (most recent call last):
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/dataframe.py", line 3376, in table_part
    values[name] = self.evaluate(name, i1=k1, i2=k2)
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/dataframe.py", line 4713, in evaluate
    value = scope.evaluate(expression)
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/scopes.py", line 86, in evaluate
    result = self[expression]
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/scopes.py", line 111, in __getitem__
    if self.df._needs_copy(variable):
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/dataframe.py", line 5032, in _needs_copy
    import vaex.file.other
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/file/__init__.py", line 10, in <module>
    import vaex.file.other
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/file/other.py", line 26, in <module>
    from vaex.dataset_mmap import DatasetMemoryMapped
  File "/Users/pbos/sw/miniconda3/envs/vaex_from_pandas_issue/lib/python3.7/site-packages/vaex/dataset_mmap.py", line 31, in <module>
    import h5py
ModuleNotFoundError: No module named 'h5py'
  #  x      y      index
  0  error  error  error
  1  error  error  error
  2  error  error  error
```
Thank you!
Maybe also good to add the above to the integration tests :)

Resolving patch:
diff --git a/packages/vaex-core/vaex/dataset_mmap.py b/packages/vaex-core/vaex/dataset_mmap.py
--- a/packages/vaex-core/vaex/dataset_mmap.py
+++ b/packages/vaex-core/vaex/dataset_mmap.py
@@ -1,21 +1,12 @@
 __author__ = 'maartenbreddels'
 import os
 import mmap
-import math
-import itertools
-import functools
 import collections
 import logging
 import numpy as np
 import numpy.ma
 import vaex
-import astropy.table
-import astropy.units
-from vaex.utils import ensure_string
-import astropy.io.fits as fits
-import re
-import six
-from vaex.dataset import DatasetLocal, DatasetArrays
+from vaex.dataset import DatasetLocal
 import vaex.dataset
 import vaex.file
 from vaex.expression import Expression
@@ -26,14 +17,6 @@
 
 dataset_type_map = {}
 
-# h5py doesn't want to build at readthedocs
-on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
-try:
-    import h5py
-except:
-    if not on_rtd:
-        raise
-
 osname = vaex.utils.osname
 no_mmap = os.environ.get('VAEX_NO_MMAP', False)
 


Test patch: