datacompy icon indicating copy to clipboard operation
datacompy copied to clipboard

Are there plans to support Python 3.12.1?

Open RicardoEscobar opened this issue 2 years ago • 2 comments

I can't even install it:

...
UPDATING build\lib.win-amd64-cpython-312\pandas/_version.py
      set build\lib.win-amd64-cpython-312\pandas/_version.py to '2.0.2'
      running build_ext
      building 'pandas._libs.algos' extension
      error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pandas
Failed to build pandas
ERROR: Could not build wheels for pandas, which is required to install pyproject.toml-based projects

RicardoEscobar avatar Jan 22 '24 23:01 RicardoEscobar

We will support python 3.12. The toml file just needs updating and also there is the question of spark support which currently I'm not sure works with Python 3.12. Just need to work through those questions first, but at a minimum pandas should be able to work. I can take a look at this tomorrow morning and see the LoE involved.

fdosani avatar Jan 22 '24 23:01 fdosani

@RicardoEscobar Seems like Spark still doesn't support 3.12 and the same with Ray (Fugue). So we might be stuck without 3.12 support for now.

fdosani avatar Jan 24 '24 14:01 fdosani

Hi, just wondering if you have any update on supporting python 3.12.1?

mbrooksuk avatar May 21 '24 16:05 mbrooksuk

Hi, just wondering if you have any update on supporting python 3.12.1?

Hey there, We do want to support it. Right now Spark has some compatibility issues. Are you using it for non-Spark use cases?

fdosani avatar May 21 '24 18:05 fdosani

Hi, yes, purely in a python notebook, we're not using spark

mbrooksuk avatar May 21 '24 18:05 mbrooksuk

Maybe a compromise might be to allow it for Polars and Pandas only until Spark catches up.

fdosani avatar May 21 '24 18:05 fdosani

Im very new to python, but datacompy is exactly the tool im looking for! My company only allows python 3.12.1, how would you allow it for pandas?

mbrooksuk avatar May 22 '24 06:05 mbrooksuk

Im very new to python, but datacompy is exactly the tool im looking for! My company only allows python 3.12.1, how would you allow it for pandas?

I'll need to make a change and cut a new release. Will try and come up with something shortly.

fdosani avatar May 22 '24 12:05 fdosani

@mbrooksuk You actually should be able to use Python 3.12 and install datacompy. There isn't any restriction that would stop you. The Spark stuff isn't guaranteed to work, but the pandas logic should. Would you be able to try it out?

fdosani avatar May 22 '24 12:05 fdosani

Hi, will still receive the error below when trying to install datacompy in 3.12. It works fine 3.10:

Looking in links: . Processing z:\it dep\software\4.softwaresylo\python\py.3.12_offline_lib\setuptools-70.0.0-py3-none-any.whl Installing collected packages: setuptools Successfully installed setuptools-70.0.0

Z:\IT Dep\Software\4.SoftwareSylo\Python\PY.3.12_Offline_Lib>pip3.12.exe install DataComPy -U --no-index --find-links . Defaulting to user installation because normal site-packages is not writeable Looking in links: . Processing z:\it dep\software\4.softwaresylo\python\py.3.12_offline_lib\datacompy-0.12.0-py3-none-any.whl Requirement already satisfied: pandas<=2.2.2,>=0.25.0 in c:\users\farzad\appdata\roaming\python\python312\site-packages (from DataComPy) (2.2.2) Requirement already satisfied: numpy<=1.26.4,>=1.22.0 in c:\users\farzad\appdata\roaming\python\python312\site-packages (from DataComPy) (1.26.4) Processing z:\it dep\software\4.softwaresylo\python\py.3.12_offline_lib\ordered_set-4.1.0-py3-none-any.whl (from DataComPy) Processing z:\it dep\software\4.softwaresylo\python\py.3.12_offline_lib\fugue-0.8.7-py3-none-any.whl (from DataComPy) Processing z:\it dep\software\4.softwaresylo\python\py.3.12_offline_lib\triad-0.9.6-py3-none-any.whl (from fugue<=0.8.7,>=0.8.7->DataComPy) Processing z:\it dep\software\4.softwaresylo\python\py.3.12_offline_lib\adagio-0.2.4-py3-none-any.whl (from fugue<=0.8.7,>=0.8.7->DataComPy) Processing z:\it dep\software\4.softwaresylo\python\py.3.12_offline_lib\qpd-0.4.4-py3-none-any.whl (from fugue<=0.8.7,>=0.8.7->DataComPy) Processing z:\it dep\software\4.softwaresylo\python\py.3.12_offline_lib\fugue-sql-antlr-0.2.0.tar.gz (from fugue<=0.8.7,>=0.8.7->DataComPy) Installing build dependencies ... done Getting requirements to build wheel ... done Installing backend dependencies ... error error: subprocess-exited-with-error

× pip subprocess to install backend dependencies did not run successfully. │ exit code: 1 ╰─> [3 lines of output] Looking in links: . ERROR: Could not find a version that satisfies the requirement wheel (from versions: none) ERROR: No matching distribution found for wheel [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.

mbrooksuk avatar May 24 '24 08:05 mbrooksuk

Can you provide a output from: pip freeze please. Also I just released 0.12.1 if you want to try pip installing that. Should also note that many times with these types of errors it is some underlying library which is having issues building the package because of missing dependencies like compilers etc.

I'd also recommend trying to conda install datacompy

fdosani avatar May 24 '24 13:05 fdosani

I solved this issue. I'm preparing my answer to this. Tldr. Installing a previous version of pandas, I dont remember the number.

RicardoEscobar avatar May 26 '24 16:05 RicardoEscobar

Can you provide a output from: pip freeze please. Also I just released 0.12.1 if you want to try pip installing that. Should also note that many times with these types of errors it is some underlying library which is having issues building the package because of missing dependencies like compilers etc.

I'd also recommend trying to conda install datacompy

YouTube explanation The relevant entries are datacompy==0.11.0 and pandas==2.2.0, recent versions of pandas create a dependency incompatibility issue.

This is the contents of the requirements.txt:

$ cat requirements.txt
adagio==0.2.4
antlr4-python3-runtime==4.11.1
appdirs==1.4.4
certifi==2024.2.2
charset-normalizer==3.3.2
comtypes==1.4.2
datacompy==0.11.0
et-xmlfile==1.1.0
fs==2.4.16
fsspec==2024.2.0
fugue==0.8.7
fugue-sql-antlr==0.2.0
greenlet==3.0.3
idna==3.6
Jinja2==3.1.3
MarkupSafe==2.1.5
MouseInfo==0.1.3
numpy==1.26.4
openpyxl==3.1.2
ordered-set==4.1.0
packaging==23.2
pandas==2.2.0
pyarrow==15.0.0
PyAutoGUI==0.9.54
PyGetWindow==0.0.9
PyMsgBox==1.0.9
pymsteams==0.2.2
pyodbc==5.1.0
pyperclip==1.8.2
PyRect==0.2.0
PyScreeze==0.1.30
python-dateutil==2.9.0.post0
python-dotenv==1.0.1
pytweening==1.2.0
pytz==2024.1
pywin32==306
pywinauto==0.6.8
qpd==0.4.4
requests==2.31.0
setuptools==69.1.1
six==1.16.0
SQLAlchemy==2.0.28
sqlglot==22.2.0
tabulate==0.9.0
triad==0.9.5
typing_extensions==4.10.0
tzdata==2024.1
urllib3==2.2.1
wheel==0.42.0

RicardoEscobar avatar May 27 '24 15:05 RicardoEscobar

Can you provide a output from: pip freeze please. Also I just released 0.12.1 if you want to try pip installing that. Should also note that many times with these types of errors it is some underlying library which is having issues building the package because of missing dependencies like compilers etc.

I'd also recommend trying to conda install datacompy

Hi, this worked for us, since the 0.12.1 release datacompy installed without any dependency errors. Thanks for sorting this!

mbrooksuk avatar May 28 '24 15:05 mbrooksuk