British-Oceanographic-Data-Centre / COAsT

A Coastal Ocean Assessment Tool built as an extendable python framework for nemo models
https://british-oceanographic-data-centre.github.io/COAsT/
MIT License
23 stars 11 forks source link

[NEW FEATURE] Depreciation warnings dump that affect 3.10 only #629

Open thogar-computer opened 8 months ago

thogar-computer commented 8 months ago

Is there an existing request for this?

Desired Feature

There should be no warming on the pytest front related to 3.10

Justification

we want to move to 3.10

User Workflow

Nothing to add

Anything else?

No response

thogar-computer commented 8 months ago

Ran pip install . && /Users/jeff/opt/anaconda3/envs/coast_dev/bin/pytest unit_testing/unit_test.py -s

soutobias commented 8 months ago

@thogar-computer @jpolton , I tried to reproduce this error, but I did not see any depreciation warnings. The only thing that I saw is some threads errors on test_altimetry_load_subset test:

Exception ignored in: <function Image.del at 0x7f99805376d0> Traceback (most recent call last): File "/mnt/code/.pyenv/versions/3.10.12/lib/python3.10/tkinter/init.py", line 4056, in del self.tk.call('image', 'delete', self.name) RuntimeError: main thread is not in main loop Exception ignored in: <function Variable.del at 0x7f9980f8ff40> Traceback (most recent call last): File "/mnt/code/.pyenv/versions/3.10.12/lib/python3.10/tkinter/init.py", line 388, in del if self._tk.getboolean(self._tk.call("info", "exists", self._name)): RuntimeError: main thread is not in main loop Exception ignored in: <function Variable.del at 0x7f9980f8ff40> Traceback (most recent call last): File "/mnt/code/.pyenv/versions/3.10.12/lib/python3.10/tkinter/init.py", line 388, in del if self._tk.getboolean(self._tk.call("info", "exists", self._name)): RuntimeError: main thread is not in main loop Exception ignored in: <function Variable.del at 0x7f9980f8ff40> Traceback (most recent call last): File "/mnt/code/.pyenv/versions/3.10.12/lib/python3.10/tkinter/init.py", line 388, in del if self._tk.getboolean(self._tk.call("info", "exists", self._name)): RuntimeError: main thread is not in main loop Exception ignored in: <function Variable.del at 0x7f9980f8ff40> Traceback (most recent call last): File "/mnt/code/.pyenv/versions/3.10.12/lib/python3.10/tkinter/init.py", line 388, in del if self._tk.getboolean(self._tk.call("info", "exists", self._name)): RuntimeError: main thread is not in main loop Exception ignored in: <function Image.del at 0x7f99805376d0> Traceback (most recent call last): File "/mnt/code/.pyenv/versions/3.10.12/lib/python3.10/tkinter/init.py", line 4056, in del self.tk.call('image', 'delete', self.name) RuntimeError: main thread is not in main loop Exception ignored in: <function Variable.del at 0x7f9980f8ff40> Traceback (most recent call last): File "/mnt/code/.pyenv/versions/3.10.12/lib/python3.10/tkinter/init.py", line 388, in del if self._tk.getboolean(self._tk.call("info", "exists", self._name)): RuntimeError: main thread is not in main loop Exception ignored in: <function Variable.del at 0x7f9980f8ff40> Traceback (most recent call last): File "/mnt/code/.pyenv/versions/3.10.12/lib/python3.10/tkinter/init.py", line 388, in del if self._tk.getboolean(self._tk.call("info", "exists", self._name)): RuntimeError: main thread is not in main loop Exception ignored in: <function Variable.del at 0x7f9980f8ff40> Traceback (most recent call last): File "/mnt/code/.pyenv/versions/3.10.12/lib/python3.10/tkinter/init.py", line 388, in del if self._tk.getboolean(self._tk.call("info", "exists", self._name)): RuntimeError: main thread is not in main loop Exception ignored in: <function Variable.del at 0x7f9980f8ff40> Traceback (most recent call last): File "/mnt/code/.pyenv/versions/3.10.12/lib/python3.10/tkinter/init.py", line 388, in del if self._tk.getboolean(self._tk.call("info", "exists", self._name)): RuntimeError: main thread is not in main loop Tcl_AsyncDelete: async handler deleted by the wrong thread Fatal Python error: Aborted

thogar-computer commented 8 months ago

@jpolton @soutobias looks like the upgrade to 3.10 might have auto updated some of the packages

/Users/jeff/opt/anaconda3/envs/coast/lib/python3.8/site-packages/pydap/model.py:175: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working

was one of the 3.10 error from the other ticket?

soutobias commented 8 months ago

@thogar-computer @jpolton , it was the same threads problem from the other ticket. I pulled the updates from the other ticket and now I can see the deprecated packages. I will work on this until the end of the day

soutobias commented 8 months ago

After updating the Python version, there were still some deprecation warnings present in the code. I successfully addressed and resolved all of the warnings associated with the COAsT code. However, there remain certain warnings related to the xarray and utide libraries, which cannot be eliminated since they pertain to dependencies. The PR link is: https://github.com/British-Oceanographic-Data-Centre/COAsT/pull/649