[pyngl-talk] Help with PyNIO installation
Kevin Hallock
hallock at ucar.edu
Tue Dec 13 14:52:24 MST 2016
Hi Xingang,
We have found that running PyNIO, PyNGL, and NCL under conda works best if you create an environment to install them in. Installing to the root environment can cause issues like what you’ve described below, especially when using Anaconda, as opposed to Miniconda.
Could you please try creating and activating an environment:
conda create --name <env_name> --channel conda-forge pynio pyngl
source activate <env_name>
Once the environment is activated, you can install any other packages you may need. I would strongly recommend using “--channel conda-forge” on your “conda install …” commands in order to maintain compatibility with Nio and Ngl.
Kevin
> On Dec 13, 2016, at 2:18 PM, Fan, Xingang <xingang.fan at wku.edu> wrote:
>
> Hi, Kevin:
>
> Thank you so much! That played the trick. Finally I got all three of them working along with basemap on an Ubuntu virtual machine without any warning messages. The order of installing different packages and the updating of packages seem important though.
>
> Now, I am trying to get it to work on my Mac. All of them worked fine with my Mac installation of Anaconda. However, when I tried to use the same way to update NGL and NIO, the entire anaconda seemed messed up. I tried reinstall, still have the following messages when importing Nio, I don't know what to do:
>
> (root) FXG-MacBook:site-packages xng02546$ python
> Python 2.7.12 |Anaconda custom (x86_64)| (default, Jul 2 2016, 17:43:17)
> [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)] on darwin
> Type "help", "copyright", "credits" or "license" for more information.
> Anaconda is brought to you by Continuum Analytics.
> Please check out: http://continuum.io/thanks and https://anaconda.org
> >>> import Nio
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File "//anaconda/lib/python2.7/site-packages/PyNIO/Nio.py", line 83, in <module>
> from nio import *
> ImportError: dlopen(//anaconda/lib/python2.7/site-packages/PyNIO/nio.so, 2): Library not loaded: @rpath/libicui18n.56.dylib
> Referenced from: //anaconda/lib/libgdal.20.dylib
> Reason: no suitable image found. Did find:
> /usr/local/lib/libicui18n.56.dylib: stat() failed with errno=13
>
> Thanks,
> Xingang
>
> From: Kevin Hallock <hallock at ucar.edu <mailto:hallock at ucar.edu>>
> Date: Monday, December 12, 2016 11:43 AM
> To: Xingang Fan <xingang.fan at wku.edu <mailto:xingang.fan at wku.edu>>
> Cc: "pyngl-talk at ucar.edu <mailto:pyngl-talk at ucar.edu>" <pyngl-talk at ucar.edu <mailto:pyngl-talk at ucar.edu>>
> Subject: Re: [pyngl-talk] Help with PyNIO installation
>
> Hi Xingang,
>
> Could you please try running “conda install -c conda-forge pyngl pynio” instead of “conda install -c ncar -c khallock pyngl pynio”?
>
> Previously, using the channels “ncar” and “khallock” (with the flags “-c ncar” and “-c khallock”) was the only way to install PyNIO and PyNGL using conda, but we have since uploaded PyNIO, PyNGL, and NCL to the conda-forge channel. Conda-forge provides excellent compatibility between packages in order to avoid the dependency issues you experienced, so I would strongly recommend using “-c conda-forge” in your case.
>
> Kevin
>
>> On Dec 10, 2016, at 7:55 AM, Fan, Xingang <xingang.fan at wku.edu <mailto:xingang.fan at wku.edu>> wrote:
>>
>> Hi, Kevin:
>>
>> I am installing the packages in virtual machine that runs Ubuntu. I got it worked one time, but when I later found that I needed basemap. So, I reinstalled everything and nw got a question I don't understand. The following was what I did:
>>
>> Install anaconda
>> Conda update --all
>> Created a new environment where:
>> netcdf4 and basemap were installed
>> Cloned the above environment for adding NGL packages, where:
>> pygrib was installed (conda install –c conda-forge pygrib
>> Then, when I try to install: conda install –c ncar –c khallock pyngl pynio
>> The following messages were given:
>>
>> UnsatisfiableError: The following specifications were found to be in conflict:
>> - h5py -> hdf5 1.8.13|1.8.14|1.8.15.1|1.8.16|1.8.9
>> - h5py -> numpy 1.11*|1.5*|1.6*|1.7*|1.8*
>> - h5py -> python 2.6*|3.3*|3.4*|3.5*
>> - pynio
>> Use "conda info <package>" to see the dependencies for each package.
>>
>> First, I don't understand who and who are in conflict. Second, how to get around?
>>
>> I remember the time I got pygrib, Nio, Ngl imported without problem was when I didn't have basemap in the same new environment (just create a new environment for my use, not cloned one). But I hope I can have them all in the same place.
>>
>> Your help is much appreciated!
>>
>> Xingang
>>
>> P.s. A full list of packages in my new environment is attached below:
>>
>> (metlab) xfan at xfan-VirtualBox:~$ conda list
>> # packages in environment at /home/xfan/anaconda2/envs/metlab:
>> #
>> _license 1.1 py27_1
>> _nb_ext_conf 0.3.0 py27_0
>> alabaster 0.7.9 py27_0
>> anaconda custom py27_0
>> anaconda-clean 1.0.2 py27_0
>> anaconda-client 1.6.0 py27_0
>> anaconda-navigator 1.3.2 py27_0
>> argcomplete 1.0.0 py27_1
>> astroid 1.4.7 py27_0
>> astropy 1.2.1 np111py27_0
>> babel 2.3.4 py27_0
>> backports 1.0 py27_0
>> backports_abc 0.5 py27_0
>> basemap 1.0.7 np111py27_0
>> beautifulsoup4 4.5.1 py27_0
>> bitarray 0.8.1 py27_0
>> blaze 0.10.1 py27_0
>> bokeh 0.12.3 py27_0
>> boto 2.43.0 py27_0
>> bottleneck 1.1.0 np111py27_0
>> cairo 1.12.18 6
>> cdecimal 2.3 py27_2
>> cffi 1.9.1 py27_0
>> chest 0.2.3 py27_0
>> click 6.6 py27_0
>> cloudpickle 0.2.1 py27_0
>> clyent 1.2.2 py27_0
>> colorama 0.3.7 py27_0
>> configobj 5.0.6 py27_0
>> configparser 3.5.0 py27_0
>> contextlib2 0.5.4 py27_0
>> cryptography 1.6 py27_0
>> curl 7.49.0 1
>> cycler 0.10.0 py27_0
>> cython 0.25.2 py27_0
>> cytoolz 0.8.1 py27_0
>> dask 0.12.0 py27_0
>> datashape 0.5.2 py27_0
>> dbus 1.10.10 0
>> decorator 4.0.10 py27_1
>> dill 0.2.5 py27_0
>> docutils 0.12 py27_2
>> dynd-python 0.7.2 py27_0
>> ecmwf_grib 1.16.0 1 conda-forge
>> entrypoints 0.2.2 py27_0
>> enum34 1.1.6 py27_0
>> et_xmlfile 1.0.1 py27_0
>> expat 2.1.0 0
>> fastcache 1.0.2 py27_1
>> filelock 2.0.7 py27_0
>> flask 0.11.1 py27_0
>> flask-cors 2.1.2 py27_0
>> fontconfig 2.11.1 6
>> freetype 2.5.5 1
>> funcsigs 1.0.2 py27_0
>> functools32 3.2.3.2 py27_0
>> futures 3.0.5 py27_0
>> geos 3.4.2 0
>> get_terminal_size 1.0.0 py27_0
>> gevent 1.1.2 py27_0
>> glib 2.43.0 1
>> greenlet 0.4.10 py27_0
>> grin 1.2.1 py27_3
>> gst-plugins-base 1.8.0 0
>> gstreamer 1.8.0 0
>> h5py 2.6.0 np111py27_2
>> harfbuzz 0.9.39 1
>> hdf4 4.2.12 0
>> hdf5 1.8.17 1
>> heapdict 1.0.0 py27_1
>> icu 54.1 0
>> idna 2.1 py27_0
>> imagesize 0.7.1 py27_0
>> ipaddress 1.0.17 py27_0
>> ipykernel 4.5.2 py27_0
>> ipython 5.1.0 py27_0
>> ipython_genutils 0.1.0 py27_0
>> ipywidgets 5.2.2 py27_0
>> itsdangerous 0.24 py27_0
>> jasper 1.900.1 1 conda-forge
>> jbig 2.1 0
>> jdcal 1.3 py27_0
>> jedi 0.9.0 py27_1
>> jinja2 2.8 py27_1
>> jpeg 8d 2
>> jsonschema 2.5.1 py27_0
>> jupyter 1.0.0 py27_3
>> jupyter_client 4.4.0 py27_0
>> jupyter_console 5.0.0 py27_0
>> jupyter_core 4.2.1 py27_0
>> lazy-object-proxy 1.2.1 py27_0
>> libdynd 0.7.2 0
>> libffi 3.2.1 0
>> libgcc 5.2.0 0
>> libgfortran 3.0.0 1
>> libiconv 1.14 0
>> libnetcdf 4.4.1 0
>> libpng 1.6.26 0 conda-forge
>> libsodium 1.0.10 0
>> libtiff 4.0.6 2
>> libxcb 1.12 1
>> libxml2 2.9.4 0
>> libxslt 1.1.28 0
>> llvmlite 0.14.0 py27_0
>> locket 0.2.0 py27_1
>> lxml 3.6.4 py27_0
>> markupsafe 0.23 py27_2
>> matplotlib 1.5.3 np111py27_1
>> mistune 0.7.3 py27_0
>> mkl 11.3.3 0
>> mkl-service 1.1.2 py27_2
>> mpmath 0.19 py27_1
>> multipledispatch 0.4.9 py27_0
>> nb_anacondacloud 1.2.0 py27_0
>> nb_conda 2.0.0 py27_0
>> nb_conda_kernels 2.0.0 py27_0
>> nbconvert 4.2.0 py27_0
>> nbformat 4.2.0 py27_0
>> nbpresent 3.0.2 py27_0
>> netcdf4 1.2.4 np111py27_0
>> networkx 1.11 py27_0
>> nltk 3.2.1 py27_0
>> nose 1.3.7 py27_1
>> notebook 4.2.3 py27_0
>> numba 0.29.0 np111py27_0
>> numexpr 2.6.1 np111py27_1
>> numpy 1.11.2 py27_0
>> odo 0.5.0 py27_1
>> openpyxl 2.4.0 py27_0
>> openssl 1.0.2j 0
>> pandas 0.19.1 np111py27_0
>> partd 0.3.6 py27_0
>> patchelf 0.9 0
>> path.py 8.2.1 py27_0
>> pathlib2 2.1.0 py27_0
>> patsy 0.4.1 py27_0
>> pep8 1.7.0 py27_0
>> pexpect 4.0.1 py27_0
>> pickleshare 0.7.4 py27_0
>> pillow 3.4.2 py27_0
>> pip 9.0.1 py27_1
>> pixman 0.32.6 0
>> pkginfo 1.4.1 py27_0
>> ply 3.9 py27_0
>> prompt_toolkit 1.0.9 py27_0
>> psutil 5.0.0 py27_0
>> ptyprocess 0.5.1 py27_0
>> py 1.4.31 py27_0
>> pyasn1 0.1.9 py27_0
>> pycairo 1.10.0 py27_0
>> pycosat 0.6.1 py27_1
>> pycparser 2.17 py27_0
>> pycrypto 2.6.1 py27_4
>> pycurl 7.43.0 py27_0
>> pyflakes 1.3.0 py27_0
>> pygments 2.1.3 py27_0
>> pygrib 2.0.2 py27_0 conda-forge
>> pylint 1.5.4 py27_1
>> pyopenssl 16.2.0 py27_0
>> pyparsing 2.1.4 py27_0
>> pyproj 1.9.5.1 py27_0 conda-forge
>> pyqt 5.6.0 py27_0
>> pytables 3.3.0 np111py27_0
>> pytest 3.0.5 py27_0
>> python 2.7.12 1
>> python-dateutil 2.6.0 py27_0
>> pytz 2016.10 py27_0
>> pyyaml 3.12 py27_0
>> pyzmq 16.0.2 py27_0
>> qt 5.6.0 1
>> qtawesome 0.3.3 py27_0
>> qtconsole 4.2.1 py27_1
>> qtpy 1.1.2 py27_0
>> readline 6.2 2
>> redis 3.2.0 0
>> redis-py 2.10.5 py27_0
>> requests 2.12.3 py27_0
>> rope 0.9.4 py27_1
>> scikit-image 0.12.3 np111py27_1
>> scikit-learn 0.18.1 np111py27_0
>> scipy 0.18.1 np111py27_0
>> setuptools 27.2.0 py27_0
>> simplegeneric 0.8.1 py27_1
>> singledispatch 3.4.0.3 py27_0
>> sip 4.18 py27_0
>> six 1.10.0 py27_0
>> snowballstemmer 1.2.1 py27_0
>> sockjs-tornado 1.0.3 py27_0
>> sphinx 1.5 py27_0
>> spyder 3.0.2 py27_0
>> sqlalchemy 1.1.4 py27_0
>> sqlite 3.13.0 0
>> ssl_match_hostname 3.4.0.2 py27_1
>> statsmodels 0.6.1 np111py27_1
>> sympy 1.0 py27_0
>> terminado 0.6 py27_0
>> tk 8.5.18 0
>> toolz 0.8.1 py27_0
>> tornado 4.4.2 py27_0
>> traitlets 4.3.1 py27_0
>> unicodecsv 0.14.1 py27_0
>> wcwidth 0.1.7 py27_0
>> werkzeug 0.11.11 py27_1
>> wheel 0.29.0 py27_0
>> widgetsnbextension 1.2.6 py27_0
>> wrapt 1.10.8 py27_0
>> xlrd 1.0.0 py27_0
>> xlsxwriter 0.9.4 py27_0
>> xlwt 1.1.2 py27_0
>> xz 5.2.2 0
>> yaml 0.1.6 0
>> zeromq 4.1.5 0
>> zlib 1.2.8 3
>>
>>
>> From: Kevin Hallock <hallock at ucar.edu <mailto:hallock at ucar.edu>>
>> Date: Wednesday, December 7, 2016 2:19 PM
>> To: Xingang Fan <xingang.fan at wku.edu <mailto:xingang.fan at wku.edu>>
>> Cc: "pyngl-talk at ucar.edu <mailto:pyngl-talk at ucar.edu>" <pyngl-talk at ucar.edu <mailto:pyngl-talk at ucar.edu>>
>> Subject: Re: [pyngl-talk] Help with PyNIO installation
>>
>> Hi Xingang,
>>
>> You’re welcome!
>>
>> While Anaconda can be installed on Windows, we only have Mac OS X and Linux 64-bit versions of PyNGL or PyNIO available on Anaconda. In your case, I think Linux virtual machines would probably be the best/simplest option.
>>
>> Kevin
>>
>>> On Dec 7, 2016, at 12:41 PM, Fan, Xingang <xingang.fan at wku.edu <mailto:xingang.fan at wku.edu>> wrote:
>>>
>>> Hi, Kevin:
>>>
>>> Thank you so much for getting back with me!
>>>
>>> I am trying anaconda on my MacBook Pro.
>>>
>>> One question: Can anaconda be installed on Windows system with the PyNGL and PyNIO, pygrib to work? Or it has to be on a virtual machine. Our lab have all windows machines. Thanks!
>>>
>>> Xingang
>>>
>>> From: Kevin Hallock <hallock at ucar.edu <mailto:hallock at ucar.edu>>
>>> Date: Wednesday, December 7, 2016 1:37 PM
>>> To: Xingang Fan <xingang.fan at wku.edu <mailto:xingang.fan at wku.edu>>
>>> Cc: "pyngl-talk at ucar.edu <mailto:pyngl-talk at ucar.edu>" <pyngl-talk at ucar.edu <mailto:pyngl-talk at ucar.edu>>
>>> Subject: Re: [pyngl-talk] Help with PyNIO installation
>>>
>>> Hi,
>>>
>>> Is there any chance you could possibly use Anaconda/Miniconda on these virtual machines instead of Enthought Canopy? As far as I am aware, there is no easy way for us to create and distribute a version of our software that is built against Enthought Canopy’s libraries.
>>>
>>> However, we do have up-to-date versions PyNGL and PyNIO (and NCL) available on the "conda-forge” Anaconda channel, which also hosts many other commonly used scientific packages (including pygrib!). Unfortunately, Anaconda and Enthought Canopy may not be compatible; in order for Anaconda to work properly, its provided python needs to be the “default” python.
>>>
>>> We have information regarding the installation of Anaconda/Miniconda on the PyNGL/PyNIO download page: https://www.pyngl.ucar.edu/Download/ <https://www.pyngl.ucar.edu/Download/>
>>>
>>> In order to use the recommended "conda-forge" versions (different from the example on the linked page), create a conda environment using a command such as:
>>> conda create --name <env_name> --channel conda-forge pynio pyngl
>>>
>>> and then activate the environment:
>>> source activate <env_name>
>>>
>>> Note that “<env_name>” can be whatever you would like your conda environment to be named; for example, the linked documentation above uses “pyn_test”.
>>>
>>> If using Anaconda/Miniconda is not possible, then we will have to further troubleshoot building PyNIO from source code.
>>>
>>> Please let us know if this information helps!
>>>
>>> Thanks,
>>> Kevin
>>>
>>>> On Dec 6, 2016, at 12:38 PM, Fan, Xingang <xingang.fan at wku.edu <mailto:xingang.fan at wku.edu>> wrote:
>>>>
>>>> Hi,
>>>>
>>>> I am using Enthought Canopy as my default python. I would like to get PyNIO and PyNGL installed.
>>>>
>>>> I have tried to download the prebuilt binaries, none of them work for my Ubuntu environment (I have to use the VirtualBox and have a Virtual Machine of Ubuntu system on my windows machines for our classroom use, because I wanted to have pygrib, PyNIO, and PyNGL). Although the prebuilt packages worked for my MacBook Pro, where the Canopy was also installed.
>>>>
>>>> Then I had to try to install from the source code of PyNIO. I have followed the instructions online at https://www.pyngl.ucar.edu/Download/build_pynio_from_src.shtml <https://www.pyngl.ucar.edu/Download/build_pynio_from_src.shtml#HDF4>.
>>>> And all non-optional packages have been installed without problem. However, when I get down to install PyNIO, it seemed installed, but the import Nio showed the following error messages:
>>>>
>>>> import Nio
>>>> ---------------------------------------------------------------------------
>>>> ImportError Traceback (most recent call last)
>>>> <ipython-input-1-d77b80fd2dfc> in <module>()
>>>> ----> 1 import Nio
>>>>
>>>> /home/xfan/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/PyNIO/Nio.py in <module>()
>>>> 61 '''
>>>> 62
>>>> ---> 63 from nio import *
>>>> 64 from nio import _C_API
>>>> 65
>>>>
>>>> ImportError: /home/xfan/Canopy/appdata/canopy-1.7.4.3348.rh5-x86_64/lib/libgfortran.so.3: version `GFORTRAN_1.4' not found (required by /home/xfan/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/PyNIO/nio.so)
>>>>
>>>> PLEASE help see what's the problem. While installing, I have the following environment variables set:
>>>> export HAS_NETCDF4=1
>>>> export HAS_HDF5=1
>>>> export NETCDF_PREFIX=/usr/local
>>>> export F2CLIBS=gfortran
>>>> export F2CLIBS_PREFIX=/usr/lib/x86_64-linux-gnu
>>>>
>>>> Thanks,
>>>> --
>>>> Xingang Fan, Ph. D., | Department of Geography and Geology
>>>> Associate Professor | Western Kentucky University
>>>> of Meteorology | 1906 College Heights Blvd., #31066
>>>> 270-745-5980 | Bowling Green, KY 42101-1066
>>>> xingang.fan at wku.edu <mailto:xingang.fan at wku.edu>
>>>> http://people.wku.edu/xingang.fan <http://people.wku.edu/xingang.fan>_______________________________________________
>>>> pyngl-talk mailing list
>>>> List instructions, subscriber options, unsubscribe:
>>>> http://mailman.ucar.edu/mailman/listinfo/pyngl-talk <http://mailman.ucar.edu/mailman/listinfo/pyngl-talk>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/pyngl-talk/attachments/20161213/210077d5/attachment-0001.html
More information about the pyngl-talk
mailing list