camelot-dev / camelot

A Python library to extract tabular data from PDFs
https://camelot-py.readthedocs.io
MIT License
2.76k stars 446 forks source link

Installing camelot with "pip install -U 'camelot-py[base]'" installs version 0.9, instead of 0.11 #459

Open alexmerm opened 7 months ago

alexmerm commented 7 months ago

I'm not sure whats causing it, but essentially if you camelot using pip install -U 'camelot-py[base]', it installs version 0.9. Installing with `pip install -U camelot-py installs the latest version on pip, 0.11 . I've tested on macos and windows in new venvs and had the same issue. It seems like this is what's causing a lot of the other current open issues including #444 and #436

  1. create a new venv (optional)
  2. run pip install -U 'camelot-py[base]'
  3. run pip show camelot-py and observe version 0.9
  4. run camelot --version and observe version 0.9
  5. run pip install -U camelot-py and observe notice saying it uninstalled 0.9 to 0.11
  6. run pip show camelot-py and observe version 0.11

Expected behavior

pip install -U 'camelot-py[base]' installs version 0.11

Screenshots

Terminal Log ``` (venv) ➜ test5 pip install -U 'camelot-py[base]' Collecting camelot-py[base] Using cached camelot_py-0.11.0-py3-none-any.whl (40 kB) Collecting chardet>=3.0.4 Using cached chardet-5.2.0-py3-none-any.whl (199 kB) Collecting click>=6.7 Using cached click-8.1.7-py3-none-any.whl (97 kB) Collecting numpy>=1.13.3 Using cached numpy-1.26.2-cp311-cp311-macosx_11_0_arm64.whl (14.0 MB) Collecting openpyxl>=2.5.8 Using cached openpyxl-3.1.2-py2.py3-none-any.whl (249 kB) Collecting pandas>=0.23.4 Using cached pandas-2.1.3-cp311-cp311-macosx_11_0_arm64.whl (10.8 MB) Collecting pdfminer.six>=20200726 Using cached pdfminer.six-20221105-py3-none-any.whl (5.6 MB) Collecting pypdf>=3.0.0 Using cached pypdf-3.17.1-py3-none-any.whl (277 kB) Collecting tabulate>=0.8.9 Using cached tabulate-0.9.0-py3-none-any.whl (35 kB) Collecting ghostscript>=0.7 Using cached ghostscript-0.7-py2.py3-none-any.whl (25 kB) Collecting opencv-python>=3.4.2.17 Using cached opencv_python-4.8.1.78-cp37-abi3-macosx_11_0_arm64.whl (33.1 MB) Collecting camelot-py[base] Using cached camelot_py-0.10.1-py3-none-any.whl (40 kB) Collecting PyPDF2>=1.26.0 Using cached pypdf2-3.0.1-py3-none-any.whl (232 kB) Collecting camelot-py[base] Using cached camelot_py-0.10.0-py3-none-any.whl (40 kB) Using cached camelot_py-0.9.0-py3-none-any.whl (43 kB) WARNING: camelot-py 0.9.0 does not provide the extra 'base' Collecting et-xmlfile Using cached et_xmlfile-1.1.0-py3-none-any.whl (4.7 kB) Collecting python-dateutil>=2.8.2 Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB) Collecting pytz>=2020.1 Using cached pytz-2023.3.post1-py2.py3-none-any.whl (502 kB) Collecting tzdata>=2022.1 Using cached tzdata-2023.3-py2.py3-none-any.whl (341 kB) Collecting charset-normalizer>=2.0.0 Using cached charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl (118 kB) Collecting cryptography>=36.0.0 Using cached cryptography-41.0.5-cp37-abi3-macosx_10_12_universal2.whl (5.4 MB) Collecting cffi>=1.12 Using cached cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl (176 kB) Collecting six>=1.5 Using cached six-1.16.0-py2.py3-none-any.whl (11 kB) Collecting pycparser Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB) Installing collected packages: pytz, tzdata, six, PyPDF2, pycparser, numpy, et-xmlfile, click, charset-normalizer, chardet, python-dateutil, openpyxl, cffi, pandas, cryptography, pdfminer.six, camelot-py Successfully installed PyPDF2-3.0.1 camelot-py-0.9.0 cffi-1.16.0 chardet-5.2.0 charset-normalizer-3.3.2 click-8.1.7 cryptography-41.0.5 et-xmlfile-1.1.0 numpy-1.26.2 openpyxl-3.1.2 pandas-2.1.3 pdfminer.six-20221105 pycparser-2.21 python-dateutil-2.8.2 pytz-2023.3.post1 six-1.16.0 tzdata-2023.3 [notice] A new release of pip available: 22.3.1 -> 23.3.1 [notice] To update, run: pip install --upgrade pip (venv) ➜ test5 pip show camelot-py Name: camelot-py Version: 0.9.0 Summary: PDF Table Extraction for Humans. Home-page: http://camelot-py.readthedocs.io/ Author: Vinayak Mehta Author-email: vmehta94@gmail.com License: MIT License Location: /Users/alexkaish/Downloads/test5/venv/lib/python3.11/site-packages Requires: chardet, click, numpy, openpyxl, pandas, pdfminer.six, PyPDF2 Required-by: (venv) ➜ test5 pip install -U camelot-py Requirement already satisfied: camelot-py in ./venv/lib/python3.11/site-packages (0.9.0) Collecting camelot-py Using cached camelot_py-0.11.0-py3-none-any.whl (40 kB) Requirement already satisfied: chardet>=3.0.4 in ./venv/lib/python3.11/site-packages (from camelot-py) (5.2.0) Requirement already satisfied: click>=6.7 in ./venv/lib/python3.11/site-packages (from camelot-py) (8.1.7) Requirement already satisfied: numpy>=1.13.3 in ./venv/lib/python3.11/site-packages (from camelot-py) (1.26.2) Requirement already satisfied: openpyxl>=2.5.8 in ./venv/lib/python3.11/site-packages (from camelot-py) (3.1.2) Requirement already satisfied: pandas>=0.23.4 in ./venv/lib/python3.11/site-packages (from camelot-py) (2.1.3) Requirement already satisfied: pdfminer.six>=20200726 in ./venv/lib/python3.11/site-packages (from camelot-py) (20221105) Collecting pypdf>=3.0.0 Using cached pypdf-3.17.1-py3-none-any.whl (277 kB) Collecting tabulate>=0.8.9 Using cached tabulate-0.9.0-py3-none-any.whl (35 kB) Requirement already satisfied: et-xmlfile in ./venv/lib/python3.11/site-packages (from openpyxl>=2.5.8->camelot-py) (1.1.0) Requirement already satisfied: python-dateutil>=2.8.2 in ./venv/lib/python3.11/site-packages (from pandas>=0.23.4->camelot-py) (2.8.2) Requirement already satisfied: pytz>=2020.1 in ./venv/lib/python3.11/site-packages (from pandas>=0.23.4->camelot-py) (2023.3.post1) Requirement already satisfied: tzdata>=2022.1 in ./venv/lib/python3.11/site-packages (from pandas>=0.23.4->camelot-py) (2023.3) Requirement already satisfied: charset-normalizer>=2.0.0 in ./venv/lib/python3.11/site-packages (from pdfminer.six>=20200726->camelot-py) (3.3.2) Requirement already satisfied: cryptography>=36.0.0 in ./venv/lib/python3.11/site-packages (from pdfminer.six>=20200726->camelot-py) (41.0.5) Requirement already satisfied: cffi>=1.12 in ./venv/lib/python3.11/site-packages (from cryptography>=36.0.0->pdfminer.six>=20200726->camelot-py) (1.16.0) Requirement already satisfied: six>=1.5 in ./venv/lib/python3.11/site-packages (from python-dateutil>=2.8.2->pandas>=0.23.4->camelot-py) (1.16.0) Requirement already satisfied: pycparser in ./venv/lib/python3.11/site-packages (from cffi>=1.12->cryptography>=36.0.0->pdfminer.six>=20200726->camelot-py) (2.21) Installing collected packages: tabulate, pypdf, camelot-py Attempting uninstall: camelot-py Found existing installation: camelot-py 0.9.0 Uninstalling camelot-py-0.9.0: Successfully uninstalled camelot-py-0.9.0 Successfully installed camelot-py-0.11.0 pypdf-3.17.1 tabulate-0.9.0 [notice] A new release of pip available: 22.3.1 -> 23.3.1 [notice] To update, run: pip install --upgrade pip (venv) ➜ test5 pip show camelot-py Name: camelot-py Version: 0.11.0 Summary: PDF Table Extraction for Humans. Home-page: http://camelot-py.readthedocs.io/ Author: Vinayak Mehta Author-email: vmehta94@gmail.com License: MIT License Location: /Users/alexkaish/Downloads/test5/venv/lib/python3.11/site-packages Requires: chardet, click, numpy, openpyxl, pandas, pdfminer.six, pypdf, tabulate Required-by: (venv) ➜ test5 ```

Environment

Test on both

OriginalGoku commented 7 months ago

@alexmerm Thank you so much for this. I have been trying to figure out what was wrong for a few days now. Hope they can fix the main issue but for now, your solution fixes the installation to the newer version.

johnthagen commented 6 months ago

This is because [base] extras relies on pngtopdf which does not have any wheels published for 3.10 and newer