FowlerLab/Enrich2

Unable to start GUI

dtdoering opened this issue · 2 comments

Hi Alan,

Using the installation instructions for Enrich2 as well as the documentation for managing Conda environments, I have run into the problem of not being able to call the GUI.

I have verified that I have the required dependencies, and I'm using MacOS Mojave:

(enrich2) $ conda list -n enrich2 | grep 'python\|numpy\|scipy\|pandas\|pytables\|statsmodels\|matplotlib'
matplotlib                2.2.3            py27h54f8f79_0
numpy                     1.12.1           py27h71f5d73_1
pandas                    0.19.2              np112py27_1
pytables                  3.4.4            py27h13cba08_0
python                    2.7.15               h8f8e585_2
python-dateutil           2.7.3                    py27_0
scipy                     1.1.0            py27hf5b7bf4_0
statsmodels               0.9.0            py27h1d22016_0

as well as Tkinter:

(enrich2) $ python2 -m Tkinter

screen shot 2018-10-25 at 6 14 40 pm

However, when I try to start the Enrich2 GUI, I am met with the following error:

(enrich2) $ enrich_gui
Traceback (most recent call last):
  File "/usr/local/bin/enrich_gui", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3105, in <module>
    @_call_aside
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3089, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3118, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 578, in _build_master
    ws.require(__requires__)
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 895, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 781, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'matplotlib>=1.4.3' distribution was not found and is required by Enrich2

It looks like somehow it's not recognizing the fact that I have matplotlib installed (and present in the current environment).

I don't think this is related, but I noticed that one of the notes in your installation instructions mentions that if we get errors, we should check that the tables module is installed. Indeed, when I check the full list of conda environment packages below, it's not listed:

(enrich2) $ conda list -n enrich2
# packages in environment at /Users/dtdoering/anaconda3/envs/enrich2:
#
# Name                    Version                   Build  Channel
backports                 1.0                      py27_1
backports.functools_lru_cache 1.5                      py27_1
backports_abc             0.5              py27h6972548_0
blas                      1.0                         mkl
blosc                     1.14.4               hd9629dc_0
bzip2                     1.0.6                h1de35cc_5
ca-certificates           2018.03.07                    0
certifi                   2018.10.15               py27_0
cycler                    0.10.0           py27hfc73c78_0
freetype                  2.9.1                hb4e5f40_0
functools32               3.2.3.2                  py27_1
futures                   3.2.0                    py27_0
hdf5                      1.10.2               hfa1e0ec_1
intel-openmp              2019.0                      118
kiwisolver                1.0.1            py27h0a44026_0
libcxx                    4.0.1                h579ed51_0
libcxxabi                 4.0.1                hebd6815_0
libedit                   3.1.20170329         hb402a30_2
libffi                    3.2.1                h475c297_4
libgfortran               3.0.1                h93005f0_2
libpng                    1.6.35               ha441bb4_0
lzo                       2.10                 h362108e_2
matplotlib                2.2.3            py27h54f8f79_0
mkl                       2019.0                      118
ncurses                   6.1                  h0a44026_0
numexpr                   2.6.8            py27h1dc9127_0
numpy                     1.12.1           py27h71f5d73_1
openssl                   1.1.1                h1de35cc_0
pandas                    0.19.2              np112py27_1
patsy                     0.5.0                    py27_0
pip                       18.1                      <pip>
pip                       10.0.1                   py27_0
pyparsing                 2.2.2                    py27_0
pytables                  3.4.4            py27h13cba08_0
python                    2.7.15               h8f8e585_2
python-dateutil           2.7.3                    py27_0
pytz                      2018.5                   py27_0
readline                  7.0                  h1de35cc_5
scipy                     1.1.0            py27hf5b7bf4_0
setuptools                40.4.3                   py27_0
singledispatch            3.4.0.3          py27he22c18d_0
six                       1.11.0                   py27_1
snappy                    1.1.7                he62c110_3
sqlite                    3.25.2               ha441bb4_0
statsmodels               0.9.0            py27h1d22016_0
subprocess32              3.5.3            py27h1de35cc_0
tk                        8.6.8                ha441bb4_0
tornado                   5.1.1            py27h1de35cc_0
wheel                     0.32.2                   py27_0
zlib                      1.2.11               hf3cbc9b_2

However, when I go to install it with pip, it says I already have it...?

(enrich2) $ pip install tables
Requirement already satisfied: tables in ./anaconda3/envs/enrich2/lib/python2.7/site-packages (3.4.4)
Requirement already satisfied: numpy>=1.8.0 in ./anaconda3/envs/enrich2/lib/python2.7/site-packages (from tables) (1.12.1)
Requirement already satisfied: numexpr>=2.5.2 in ./anaconda3/envs/enrich2/lib/python2.7/site-packages (from tables) (2.6.8)
Requirement already satisfied: six>=1.9.0 in ./anaconda3/envs/enrich2/lib/python2.7/site-packages (from tables) (1.11.0)

Any idea what might be going on? Thanks for any help you can provide!

--Drew

Hi Alan,

I think I've found the solution. All I needed to do was run echo "backend: TkAgg" >> ~/.matplotlib/matplotlibrc as you suggest for (what I think is) a different problem here, and now it starts right up.

I'll circle back and close the issue once I confirm that the error doesn't come back elsewhere.

Cheers,

--Drew

Hope this issue has been resolved with the backend fix. Let me know if you're still having problems.