keflavich / pyradex

Python interface to RADEX
BSD 3-Clause "New" or "Revised" License
18 stars 12 forks source link

datapath.setter Failing #18

Closed richteague closed 6 years ago

richteague commented 6 years ago

I have tried installing this following the guide and when I call pyradex.Radex() I get the following error:

/usr/local/anaconda/lib/python2.7/site-packages/pyradex/base_class.pyc in species(self, species)
    125         self._species = species
    126         try:
--> 127             self.molpath = os.path.join(self.datapath,species+'.dat')
    128         except IOError:
    129             log.warn("Did not find data file for species {0} "

/usr/local/anaconda/lib/python2.7/site-packages/pyradex/core.pyc in datapath(self)
    636     @property
    637     def datapath(self):
--> 638         return os.path.expanduser(b"".join(self.radex.setup.radat).strip()).decode('utf-8')
    639 
    640     @datapath.setter

TypeError: can only join an iterable

I tried to track down the error and it seems that radex.setup.radat is empty. I've tried with and without setting the RADEX_DATAPATH to the right files but get the same complaint.

I'm using: $ python -c "import sys, astropy, numpy; print(sys.version); print(numpy.version,astropy.version)" 2.7.13 |Anaconda 2.3.0 (x86_64)| (default, Dec 20 2016, 23:05:08) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] ('1.14.2', u'2.0.4')

$ gfortran --version GNU Fortran (GCC) 4.8.5

keflavich commented 6 years ago

I have seen this error before, and I think it's something weird about the interactions between the data types in the wrapped RADEX modules with python string vs byte types. I'll see if I can reproduce and then fix it...

keflavich commented 6 years ago

I can't reproduce the problem. How are you setting up RADEX_DATAPATH? I don't think that's the problem, but I don't understand what could be going wrong now either. If I look at my radex.setup.radat variable, it looks like this:

In [11]: R.radex.setup.radat
Out[11]:
array(['/', 'U', 's', 'e', 'r', 's', '/', 'a', 'd', 'a', 'm', '/', 'L',
       'A', 'M', 'D', 'A', '/', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
       ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
       ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
       ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
       ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
       ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
       ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
       ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
       ' ', ' ', ' '],
      dtype='|S1')
richteague commented 6 years ago

I've set up the RADEX_DATAPATH through the bashrc file so:

In [6]: os.getenv('RADEX_DATAPATH')
Out[6]: '/Users/rteague/PythonPackages/limepy/aux'

When I call the radex.setup.radat (when I try and call R = pyradex.Radex() I get the error above):

In [3]: pyradex.radex.radex.setup.radat
Out[3]: 
array('',
      dtype='|S120')
keflavich commented 6 years ago

Could you try re-installing? I don't know what went wrong, but it's something with the fortran-wrapped code, so it has to be a problem introduced at compile time. You might try some of the suggestions here: https://github.com/keflavich/pyradex/blob/master/INSTALL.rst which may (??) fix the problem?

richteague commented 6 years ago

I've tried with those flags and I still get the same problem.

keflavich commented 6 years ago

OK, has the log given you any useful clues? I'm at a loss for what's happening, unfortunately.

richteague commented 6 years ago

There’s nothing obviously failing in the log. I’ll try and install it on a Linux different machine (I’ve tried both Mac OS 10.12.6 and 10.11.6 with the same results).

On May 19, 2018, at 4:04 AM, Adam Ginsburg notifications@github.com wrote:

OK, has the log given you any useful clues? I'm at a loss for what's happening, unfortunately.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/keflavich/pyradex/issues/18#issuecomment-390397537, or mute the thread https://github.com/notifications/unsubscribe-auth/APUBiQYQvCQtagvEheBnpE85ml0k1llwks5tz_xOgaJpZM4UE2xf.

keflavich commented 6 years ago

OK, thanks. FWIW, I'm using:

$ gfortran --version
GNU Fortran (GCC) 4.9.0

which I doubt is significantly different from your version. Maybe it's some strange interaction w/Mac OS 10.11+? I'm on 10.9. Also, my working python version is:

$ python -c "import sys, astropy, numpy; print(sys.version); print(numpy.version,astropy.version)"
3.6.4 |Anaconda, Inc.| (default, Mar 12 2018, 20:05:31)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)]
<module 'numpy.version' from '/Users/adam/anaconda/envs/astropy36mpl2/lib/python3.6/site-packages/numpy/version.py'> <module 'astropy.version' from '/Users/adam/repos/astropy/astropy/version.py'>
richteague commented 6 years ago

No luck with that install either and I'm getting the same error. Here's the output when I run the setup script, maybe you can notice something more clearly wrong? Hopefully it's just something I'm clearly missing when I'm running the setup.

installing_pyradex.log

keflavich commented 6 years ago

I'm now trying to run f2py again from scratch, and on python2.7, I see this failure:

$ f2py -h radex.pyf --overwrite-signature *.f
Reading fortran codes...
    Reading file 'background.f' (format:fix,strict)
    Reading file 'radex.inc' (format:fix)
Line #49 in radex.inc:"      parameter(hplanck = 6.6260963d-27)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #50 in radex.inc:"      parameter(kboltz  = 1.3806505d-16)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #50 in radex.inc:"      parameter(kboltz  = 1.3806505d-16)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #51 in radex.inc:"      parameter(pi      = 3.14159265d0)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #51 in radex.inc:"      parameter(pi      = 3.14159265d0)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #51 in radex.inc:"      parameter(pi      = 3.14159265d0)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #57 in radex.inc:"      parameter(amu     = 1.67262171d-24)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #57 in radex.inc:"      parameter(amu     = 1.67262171d-24)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #57 in radex.inc:"      parameter(amu     = 1.67262171d-24)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #57 in radex.inc:"      parameter(amu     = 1.67262171d-24)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #59 in radex.inc:"      parameter(maxpart = 9)      "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #59 in radex.inc:"      parameter(maxpart = 9)      "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #59 in radex.inc:"      parameter(maxpart = 9)      "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #59 in radex.inc:"      parameter(maxpart = 9)      "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #59 in radex.inc:"      parameter(maxpart = 9)      "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #60 in radex.inc:"      parameter(maxtemp = 99)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #60 in radex.inc:"      parameter(maxtemp = 99)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #60 in radex.inc:"      parameter(maxtemp = 99)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #60 in radex.inc:"      parameter(maxtemp = 99)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #60 in radex.inc:"      parameter(maxtemp = 99)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #60 in radex.inc:"      parameter(maxtemp = 99)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #61 in radex.inc:"      parameter(maxlev  = 2999)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #61 in radex.inc:"      parameter(maxlev  = 2999)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #61 in radex.inc:"      parameter(maxlev  = 2999)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #61 in radex.inc:"      parameter(maxlev  = 2999)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #61 in radex.inc:"      parameter(maxlev  = 2999)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #61 in radex.inc:"      parameter(maxlev  = 2999)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #61 in radex.inc:"      parameter(maxlev  = 2999)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #62 in radex.inc:"      parameter(maxline = 99999)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #62 in radex.inc:"      parameter(maxline = 99999)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #62 in radex.inc:"      parameter(maxline = 99999)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #62 in radex.inc:"      parameter(maxline = 99999)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #62 in radex.inc:"      parameter(maxline = 99999)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #62 in radex.inc:"      parameter(maxline = 99999)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #62 in radex.inc:"      parameter(maxline = 99999)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #62 in radex.inc:"      parameter(maxline = 99999)   "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #69 in radex.inc:"      parameter(maxcoll = 99999)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #69 in radex.inc:"      parameter(maxcoll = 99999)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #69 in radex.inc:"      parameter(maxcoll = 99999)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #69 in radex.inc:"      parameter(maxcoll = 99999)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #69 in radex.inc:"      parameter(maxcoll = 99999)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #69 in radex.inc:"      parameter(maxcoll = 99999)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #69 in radex.inc:"      parameter(maxcoll = 99999)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #69 in radex.inc:"      parameter(maxcoll = 99999)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #69 in radex.inc:"      parameter(maxcoll = 99999)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #116 in radex.inc:"      parameter(miniter=10)      "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #116 in radex.inc:"      parameter(miniter=10)      "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #116 in radex.inc:"      parameter(miniter=10)      "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #116 in radex.inc:"      parameter(miniter=10)      "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #116 in radex.inc:"      parameter(miniter=10)      "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #116 in radex.inc:"      parameter(miniter=10)      "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #116 in radex.inc:"      parameter(miniter=10)      "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #116 in radex.inc:"      parameter(miniter=10)      "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #116 in radex.inc:"      parameter(miniter=10)      "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #116 in radex.inc:"      parameter(miniter=10)      "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #118 in radex.inc:"      parameter(maxiter=9999)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #118 in radex.inc:"      parameter(maxiter=9999)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #118 in radex.inc:"      parameter(maxiter=9999)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #118 in radex.inc:"      parameter(maxiter=9999)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #118 in radex.inc:"      parameter(maxiter=9999)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #118 in radex.inc:"      parameter(maxiter=9999)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #118 in radex.inc:"      parameter(maxiter=9999)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #118 in radex.inc:"      parameter(maxiter=9999)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #118 in radex.inc:"      parameter(maxiter=9999)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #118 in radex.inc:"      parameter(maxiter=9999)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #118 in radex.inc:"      parameter(maxiter=9999)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #120 in radex.inc:"      parameter(ccrit=1.0e-6)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #120 in radex.inc:"      parameter(ccrit=1.0e-6)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #120 in radex.inc:"      parameter(ccrit=1.0e-6)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #120 in radex.inc:"      parameter(ccrit=1.0e-6)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #120 in radex.inc:"      parameter(ccrit=1.0e-6)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #120 in radex.inc:"      parameter(ccrit=1.0e-6)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #120 in radex.inc:"      parameter(ccrit=1.0e-6)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #120 in radex.inc:"      parameter(ccrit=1.0e-6)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #120 in radex.inc:"      parameter(ccrit=1.0e-6)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #120 in radex.inc:"      parameter(ccrit=1.0e-6)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #120 in radex.inc:"      parameter(ccrit=1.0e-6)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #120 in radex.inc:"      parameter(ccrit=1.0e-6)    "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #121 in radex.inc:"      parameter(eps=1.0d-30)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #121 in radex.inc:"      parameter(eps=1.0d-30)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #121 in radex.inc:"      parameter(eps=1.0d-30)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #121 in radex.inc:"      parameter(eps=1.0d-30)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #121 in radex.inc:"      parameter(eps=1.0d-30)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #121 in radex.inc:"      parameter(eps=1.0d-30)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #121 in radex.inc:"      parameter(eps=1.0d-30)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #121 in radex.inc:"      parameter(eps=1.0d-30)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #121 in radex.inc:"      parameter(eps=1.0d-30)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #121 in radex.inc:"      parameter(eps=1.0d-30)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #121 in radex.inc:"      parameter(eps=1.0d-30)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #121 in radex.inc:"      parameter(eps=1.0d-30)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #121 in radex.inc:"      parameter(eps=1.0d-30)     "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #124 in radex.inc:"      parameter(minpop=1.0d-20)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #124 in radex.inc:"      parameter(minpop=1.0d-20)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #124 in radex.inc:"      parameter(minpop=1.0d-20)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #124 in radex.inc:"      parameter(minpop=1.0d-20)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #124 in radex.inc:"      parameter(minpop=1.0d-20)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #124 in radex.inc:"      parameter(minpop=1.0d-20)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #124 in radex.inc:"      parameter(minpop=1.0d-20)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #124 in radex.inc:"      parameter(minpop=1.0d-20)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #124 in radex.inc:"      parameter(minpop=1.0d-20)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #124 in radex.inc:"      parameter(minpop=1.0d-20)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #124 in radex.inc:"      parameter(minpop=1.0d-20)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #124 in radex.inc:"      parameter(minpop=1.0d-20)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #124 in radex.inc:"      parameter(minpop=1.0d-20)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #124 in radex.inc:"      parameter(minpop=1.0d-20)  "
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #135 in radex.inc:"      parameter(fk    = hplanck*clight/kboltz)"
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #135 in radex.inc:"      parameter(fk    = hplanck*clight/kboltz)"
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #135 in radex.inc:"      parameter(fk    = hplanck*clight/kboltz)"
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #135 in radex.inc:"      parameter(fk    = hplanck*clight/kboltz)"
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #135 in radex.inc:"      parameter(fk    = hplanck*clight/kboltz)"
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #135 in radex.inc:"      parameter(fk    = hplanck*clight/kboltz)"
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #135 in radex.inc:"      parameter(fk    = hplanck*clight/kboltz)"
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #135 in radex.inc:"      parameter(fk    = hplanck*clight/kboltz)"
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #135 in radex.inc:"      parameter(fk    = hplanck*clight/kboltz)"
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #135 in radex.inc:"      parameter(fk    = hplanck*clight/kboltz)"
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #135 in radex.inc:"      parameter(fk    = hplanck*clight/kboltz)"
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #135 in radex.inc:"      parameter(fk    = hplanck*clight/kboltz)"
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #135 in radex.inc:"      parameter(fk    = hplanck*clight/kboltz)"
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #135 in radex.inc:"      parameter(fk    = hplanck*clight/kboltz)"
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Line #135 in radex.inc:"      parameter(fk    = hplanck*clight/kboltz)"
    get_parameters: got "unexpected EOF while parsing (<string>, line 0)" on ''
Traceback (most recent call last):
  File "/Users/adam/anaconda/envs/astropy27/bin/f2py", line 28, in <module>
    main()
  File "/Users/adam/anaconda/envs/astropy27/lib/python2.7/site-packages/numpy/f2py/f2py2e.py", line 650, in main
    run_main(sys.argv[1:])
  File "/Users/adam/anaconda/envs/astropy27/lib/python2.7/site-packages/numpy/f2py/f2py2e.py", line 408, in run_main
    postlist = callcrackfortran(files, options)
  File "/Users/adam/anaconda/envs/astropy27/lib/python2.7/site-packages/numpy/f2py/f2py2e.py", line 329, in callcrackfortran
    postlist = crackfortran.crackfortran(files)
  File "/Users/adam/anaconda/envs/astropy27/lib/python2.7/site-packages/numpy/f2py/crackfortran.py", line 3245, in crackfortran
    readfortrancode(files, crackline)
  File "/Users/adam/anaconda/envs/astropy27/lib/python2.7/site-packages/numpy/f2py/crackfortran.py", line 496, in readfortrancode
    readfortrancode(fn, dowithline=dowithline, istop=0)
  File "/Users/adam/anaconda/envs/astropy27/lib/python2.7/site-packages/numpy/f2py/crackfortran.py", line 511, in readfortrancode
    dowithline(finalline)
  File "/Users/adam/anaconda/envs/astropy27/lib/python2.7/site-packages/numpy/f2py/crackfortran.py", line 782, in crackline
    analyzeline(m, pat[1], line)
  File "/Users/adam/anaconda/envs/astropy27/lib/python2.7/site-packages/numpy/f2py/crackfortran.py", line 1188, in analyzeline
    t = determineexprtype(initexpr, params)
  File "/Users/adam/anaconda/envs/astropy27/lib/python2.7/site-packages/numpy/f2py/crackfortran.py", line 2971, in determineexprtype
    return _ensure_exprdict(vars[e])
  File "/Users/adam/anaconda/envs/astropy27/lib/python2.7/site-packages/numpy/f2py/crackfortran.py", line 2947, in _ensure_exprdict
    raise AssertionError(repr(r))
AssertionError: ''

which is different from what's happening to you. I'm stumped; f2py works just fine when running with python3.6 for me, but I used to be able to run f2py successfully with python2.

keflavich commented 6 years ago

ok, I fixed that install by specifying some flags. I believe I've finally reproduced your original error.

I don't know what caused this, but it was definitely some sort of upstream change in either f2py or numpy. Strings used to be interpreted as arrays of np.dtype('S1')s, but now instead are interpreted as np.dtype('S#'), where # is the number of elements. That change actually makes the code more convenient, but still frustrating to discover.

keflavich commented 6 years ago

@richteague could you try installing this branch? I think I've found and fixed the issue and all of the related fallout

richteague commented 6 years ago

This seems to work, thanks! It looks like the fixes only work for Python 3+ so I finally got around to installing that as the problem still persists with 2.7.

Thanks again for getting this to work, it's much appreciated!

keflavich commented 6 years ago

OK, thanks, I'm glad it works on py3 at least. It should work on py2 too, but, as you said, it would be best to just upgrade anyway