bbalasub1 / glmnet_python

GNU General Public License v3.0
199 stars 93 forks source link

build fails in ubuntu 16.04 - anaconda - python 2.7 #3

Closed martinbel closed 7 years ago

martinbel commented 7 years ago

I've done the following:

  1. cloned the repo,
  2. cd lib gfortran GLMnet.f -fPIC -fdefault-real-8 -shared -o GLMnet.so, this doesn't return any errors.
  3. python setup.py install

Any ideas how to install it?

~/glmnet_python$ python setup.py install
running install
running bdist_egg
running egg_info
writing glmnet_python.egg-info/PKG-INFO
writing top-level names to glmnet_python.egg-info/top_level.txt
writing dependency_links to glmnet_python.egg-info/dependency_links.txt
package init file 'lib/__init__.py' not found (or not a regular file)
reading manifest file 'glmnet_python.egg-info/SOURCES.txt'
writing manifest file 'glmnet_python.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/cvlognet.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/glmnetSet.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/wtmean.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/coxnet.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/cvglmnetPredict.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/elnet.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/printDict.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/glmnetPlot.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/lognet.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/loadGlmLib.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/cvmrelnet.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/glmnetPrint.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/glmnetPredict.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/cvglmnetPlot.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/glmnetCoef.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/cvglmnet.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/fishnet.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/structtype.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/cvcompute.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/cvfishnet.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/cvglmnetCoef.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/glmnetControl.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/cvelnet.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/mrelnet.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/glmnet.py -> build/bdist.linux-x86_64/egg/lib
copying build/lib/lib/cvmultnet.py -> build/bdist.linux-x86_64/egg/lib
byte-compiling build/bdist.linux-x86_64/egg/lib/cvlognet.py to cvlognet.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/glmnetSet.py to glmnetSet.pyc
  File "build/bdist.linux-x86_64/egg/lib/glmnetSet.py", line 227
    options = {**options, **opts}   # update values
                ^
SyntaxError: invalid syntax

byte-compiling build/bdist.linux-x86_64/egg/lib/wtmean.py to wtmean.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/coxnet.py to coxnet.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/cvglmnetPredict.py to cvglmnetPredict.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/elnet.py to elnet.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/printDict.py to printDict.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/glmnetPlot.py to glmnetPlot.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/lognet.py to lognet.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/loadGlmLib.py to loadGlmLib.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/cvmrelnet.py to cvmrelnet.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/glmnetPrint.py to glmnetPrint.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/glmnetPredict.py to glmnetPredict.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/cvglmnetPlot.py to cvglmnetPlot.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/glmnetCoef.py to glmnetCoef.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/cvglmnet.py to cvglmnet.pyc
  File "build/bdist.linux-x86_64/egg/lib/cvglmnet.py", line 208
    def cvglmnet(*, x, \
                  ^
SyntaxError: invalid syntax

byte-compiling build/bdist.linux-x86_64/egg/lib/fishnet.py to fishnet.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/structtype.py to structtype.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/cvcompute.py to cvcompute.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/cvfishnet.py to cvfishnet.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/cvglmnetCoef.py to cvglmnetCoef.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/glmnetControl.py to glmnetControl.pyc
  File "build/bdist.linux-x86_64/egg/lib/glmnetControl.py", line 96
    ivals = {**ivals, **pars}   # update values
              ^
SyntaxError: invalid syntax

byte-compiling build/bdist.linux-x86_64/egg/lib/cvelnet.py to cvelnet.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/mrelnet.py to mrelnet.pyc
byte-compiling build/bdist.linux-x86_64/egg/lib/glmnet.py to glmnet.pyc
  File "build/bdist.linux-x86_64/egg/lib/glmnet.py", line 246
    def glmnet(*, x, y, family='gaussian', **options):
                ^
SyntaxError: invalid syntax

byte-compiling build/bdist.linux-x86_64/egg/lib/cvmultnet.py to cvmultnet.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying glmnet_python.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying glmnet_python.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying glmnet_python.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying glmnet_python.egg-info/not-zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO
copying glmnet_python.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
creating 'dist/glmnet_python-0.1-py2.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing glmnet_python-0.1-py2.7.egg
removing '/home/marbel/anaconda/lib/python2.7/site-packages/glmnet_python-0.1-py2.7.egg' (and everything under it)
creating /home/marbel/anaconda/lib/python2.7/site-packages/glmnet_python-0.1-py2.7.egg
Extracting glmnet_python-0.1-py2.7.egg to /home/marbel/anaconda/lib/python2.7/site-packages
  File "/home/marbel/anaconda/lib/python2.7/site-packages/glmnet_python-0.1-py2.7.egg/lib/glmnetSet.py", line 227
    options = {**options, **opts}   # update values
                ^
SyntaxError: invalid syntax

  File "/home/marbel/anaconda/lib/python2.7/site-packages/glmnet_python-0.1-py2.7.egg/lib/cvglmnet.py", line 208
    def cvglmnet(*, x, \
                  ^
SyntaxError: invalid syntax

  File "/home/marbel/anaconda/lib/python2.7/site-packages/glmnet_python-0.1-py2.7.egg/lib/glmnetControl.py", line 96
    ivals = {**ivals, **pars}   # update values
              ^
SyntaxError: invalid syntax

  File "/home/marbel/anaconda/lib/python2.7/site-packages/glmnet_python-0.1-py2.7.egg/lib/glmnet.py", line 246
    def glmnet(*, x, y, family='gaussian', **options):
                ^
SyntaxError: invalid syntax

glmnet-python 0.1 is already the active version in easy-install.pth

Installed /home/marbel/anaconda/lib/python2.7/site-packages/glmnet_python-0.1-py2.7.egg
Processing dependencies for glmnet-python==0.1
Finished processing dependencies for glmnet-python==0.1

Then it gives:

In [1]: import sys
   ...: sys.path.append('lib')
   ...: from glmnet import glmnet
   ...: 
  File "lib/glmnet.py", line 246
    def glmnet(*, x, y, family='gaussian', **options):
                ^
SyntaxError: invalid syntax
buyology commented 7 years ago

Got stuck at the same issues: and it's obviously Python 3.X incompatibilities

bbalasub1 commented 7 years ago

Please see first page for installation instructions. You don't need to do a pip install -- just compile the binaries using gfortran and copy the file structure as is.

If you have compiled the binaries using gfortran, it should work on your machine.

buyology commented 7 years ago

@bbalasub1 — well from what I can see the above errors are related to Python 3-idioms not compatible w/ Python 2.7

More specifically:

Even though fixing these made it possible to install — I saw other incompatibilities while trying to run the examples

bbalasub1 commented 7 years ago

Try again -- now, glmnet_python is available on the repo. Please see instructions on the front page.

davegrays commented 7 years ago

I also get the same issue with python2.7 using glmnet_python. I am working from the latest commit

buyology commented 7 years ago

yes, from what I can see nothing has been done to fix Python 2.7 compatibility. I resorted to creating a virtualenv

kai0511 commented 7 years ago

Same problem too. Installing it in python3.5 is okay. Obviously, it's an incompatibility problem.

bbalasub1 commented 7 years ago

The current version is not 2.7 compatible. There are no plans in the pipeline to make it so, unless a gracious volunteer comes forward to porting and testing it!

On Thu, Jun 15, 2017 at 5:54 AM, Kai notifications@github.com wrote:

Same problem too. Installing it in python3.5 is okay. Obviously, it's an incompatibility problem.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/bbalasub1/glmnet_python/issues/3#issuecomment-308685530, or mute the thread https://github.com/notifications/unsubscribe-auth/AKpDE23r41d4OzdRxrxI928-B4v2rdPCks5sEP9LgaJpZM4LPwnH .