GPlates / pygplates-tutorials

Repository for ipython notebooks demonstrating functionality of pygplates
Other
58 stars 22 forks source link

Python3 Migration #1

Open michaelchin opened 4 years ago

michaelchin commented 4 years ago

The python2 will retire in less than two months. We should start thinking of migrating our code to python3. I have created a branch python3-migration for the task. The command "2to3 --output-dir=python3-version/mycode -W -n python2-version/mycode" can be used to convert the code.

Swanson-Hysell commented 4 years ago

Can pygplates itself be run using Python 3 now? Seeking to utilize pygplates is the only remaining reason I have for developing notebooks in Python 2. We usually have all our notebooks for a project be Python 3 and keep one Python 2 notebook for running pygplates.

Perhaps that is the whole point of this issue, but I am wondering if it is already possible and this issue is focused on the tutorials rather than pygplates itself.

jcannon-gplates commented 4 years ago

The next release will support Python 3, and will be called pyGPlates 1.0. It currently passes all tests on Ubuntu (Python 3), but we need to set up and make builds for Mac/Windows.

Swanson-Hysell commented 4 years ago

Great to hear! Thanks for all your work on it. We have enjoyed putting it to use.

datuadiatma commented 4 years ago

Hello,

Is there a recommended method to install Py3 version of pygplates on a windows (64bit) machine? Do I need to use docker? It seems that the installers available on sourceforge are still the old ones (py27).

Thanks

jcannon-gplates commented 4 years ago

The next pyGPlates release (1.0, this year) will support Python 3. And we are aiming to support PIP (so the official installation procedure will be pip install pygplates).

datuadiatma commented 4 years ago

Great to hear, thanks!

Swanson-Hysell commented 3 years ago

Had there been progress on supporting pip installation? I was just trying to build a reproducible binder (https://mybinder.org) for the code for a recent paper and am unable to put pygplates in a requirement.txt without it being available via pip. Thanks.

jcannon-gplates commented 3 years ago

Actually we'll probably go with Conda (at least initially). With pyGPlates being a C extension (and also depending on other C libraries) it is proving difficult to produce a pip package at this stage. Conda is more ideally suited to C extensions (whereas Pip does not really have good support for installing the C dependency libraries used by pyGPlates).

Swanson-Hysell commented 3 years ago

Good deal. Being able to Conda install would be great. Having this type of installation pathway will make it easier to have students use pyGPlates in the context of courses and research.