Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python 3 #4238

Closed
frafra opened this issue Feb 18, 2019 · 12 comments
Closed

Python 3 #4238

frafra opened this issue Feb 18, 2019 · 12 comments
Labels
feature A new feature to be added to the codebase

Comments

@frafra
Copy link
Contributor

frafra commented Feb 18, 2019

Python 2.7 EOL is getting closer (~10 months from now): https://www.python.org/dev/peps/pep-0373/

Any plan to support Python 3?

@t-book
Copy link
Contributor

t-book commented Feb 19, 2019

Well, this discussion popped up several times. From what I know nobody expressed the willingness to sponsors it or started working on it yet. But true this is of high importance. In my opinion even if GeoNode3 would be released.
(
There are just so many instances of GeoNode 2+ out in the wild
-> https://www.google.com/search?q=inurl:layers/+%26+intitle:GeoNode+%26+intext:%22Explore+Layers+About+Create+a+Map
)

@frafra
Copy link
Contributor Author

frafra commented Feb 19, 2019

I had some minor experience with Python 2 to Python 3 migration. We could proceed step-by-step, following this guide:

We need tests. I hope we could focus on them while fixing issues, update our requirements and release GeoNode 2.10. Then we could go all-in with Python 3 for GeoNode 3, using 2to3 and updating the Dockerfiles in order to use Python 3. GeoNode 3 would be just a Python 3 version of GeoNode 2.10 with some additional fixes and cleaning, because we cannot release it in December, as no one would have the time to update to it. It seems reasonable to have GeoNode 2.10 in in March and GeoNode 3.0 in June. If no-one is interested in PPA or alternative methods, we could just drop them (it make no sense to me to invite people to used outdated and unsupported versions of GeoNode) and focus on just manual installation and Docker (a merge between SPC and standard Docker setups would be nice).

Of course that kind of decision requires a broad agreement between developers and a certain type of commitment, but if we want to have GeoNode alive and not let it die, this has to be done, there is no alternative.

Links:
https://docs.python.org/3/howto/pyporting.html
http://python3porting.com/bookindex.html

@gannebamm
Copy link
Contributor

I, as mainly a soon to be user of GeoNode, would like to see a timely release of a Python 3 version for GeoNode. But I currently have no ressources to actually do anything to achieve this goal (...german translation...).
+1 for the merged spc / geonode main docker setup. I would love to see a dev-based docker setup and one which is mostly production ready.

@t-book
Copy link
Contributor

t-book commented Feb 19, 2019

@frafra I fully agree just a small note:

and GeoNode 3.0 in June

As far as I know GN3 should be completely rewritten. API First. I do not know of any programming done yet so June will be unlikely.

@frafra
Copy link
Contributor Author

frafra commented Feb 19, 2019

As far as I know GN3 should be completely rewritten. API First. I do not know of any programming done yet so June will be unlikely.

Let's use a different number, like 2.12, but we need to have a Python 3 release few months before 2.10 in my opinion.

Thanks all for commenting and joining the discussion.

@t-book
Copy link
Contributor

t-book commented Feb 19, 2019

@frafra
Copy link
Contributor Author

frafra commented Feb 19, 2019

Nice, thanks.

Here is a list of what need to be ported or replaced to Python 3 (checked items are Python 3 ready).

External dependencies:

GeoNode:

  • django-geoexplorer
  • django-geoexplorer-worldmap
  • geonode-agon-ratings
  • geonode-announcements
  • geonode-avatar
  • geonode-dialogos
  • geonode-user-messages
  • gisdata

Most of these external Python 2 only libraries are abandoned software (last update 2010/2011), which has to be replaced nonetheless.

@t-book
Copy link
Contributor

t-book commented Feb 19, 2019

@frafra this is of great help!

@afabiani afabiani added the feature A new feature to be added to the codebase label Feb 20, 2019
@frafra
Copy link
Contributor Author

frafra commented Mar 8, 2019

I suppose that issue has been replaced by #4276, right?

@t-book
Copy link
Contributor

t-book commented Mar 8, 2019

@frafra yep. would close here.

@frafra frafra closed this as completed Mar 8, 2019
@surbhinahta1211
Copy link

surbhinahta1211 commented Jan 15, 2021

Hi,

I had some slight experience with Python two to Python 3 hurricane. We could move step-by-step, after this manual:

We are in need of tests. I expect we can concentrate on these while fixing problems, upgrade our needs and launch GeoNode 2.10. We can move all-in with Python 3 to GeoNode 3, with 2to3 and upgrading the Dockerfiles to be able to utilize Python 3. GeoNode 3 are only a Python 3 variant of GeoNode 2.10 with some extra fixes and cleanup, because we can't release it in December, as nobody would have enough opportunity to upgrade to it. If no-one is thinking about PPA or other procedures, we can simply drop them (it make no sense for me to invite folks to used obsolete and unsupported versions of GeoNode) and concentrate on manual installation and Docker (a mix between SPC and regular Docker setups are fine ).

Obviously that type of choice needs a wide agreement between programmers and a specific sort of devotion, but when we would like to have GeoNode living and not let it perish, this needs to be achieved, there's absolutely no alternate.

Links: python notes

@t-book
Copy link
Contributor

t-book commented Jan 15, 2021

Hi @surbhinahta1211 I'm a bit confused as the work to port geonode to py3 is already finished with gn3. I would suggest to just migrate your instance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A new feature to be added to the codebase
Projects
None yet
Development

No branches or pull requests

5 participants