Closed AgilentGCMS closed 1 year ago
What are the contents of ~/packages/macports/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/mplcairo/
?
Any relevant output if you uninstall mplcairo and reinstall it with pip install -v mplcairo
?
$ ls -l ~/packages/macports/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/mplcairo/
total 64
-rw-r--r-- 1 sbasu1 staff 3234 2023 Sep 13 09:18:58 __init__.py
drwxr-xr-x 14 sbasu1 staff 448 2023 Sep 13 09:18:58 __pycache__
-rw-r--r-- 1 sbasu1 staff 664 2023 Sep 13 09:18:58 _backports.py
-rw-r--r-- 1 sbasu1 staff 2422 2023 Sep 13 09:18:58 _util.py
-rw-r--r-- 1 sbasu1 staff 155 2023 Sep 13 09:18:58 _version.py
-rw-r--r-- 1 sbasu1 staff 17664 2023 Sep 13 09:18:58 base.py
-rw-r--r-- 1 sbasu1 staff 1373 2023 Sep 13 09:18:58 gtk.py
-rw-r--r-- 1 sbasu1 staff 1486 2023 Sep 13 09:18:58 gtk_native.py
-rw-r--r-- 1 sbasu1 staff 605 2023 Sep 13 09:18:58 macosx.py
-rw-r--r-- 1 sbasu1 staff 2131 2023 Sep 13 09:18:58 multipage.py
-rw-r--r-- 1 sbasu1 staff 2219 2023 Sep 13 09:18:58 qt.py
-rw-r--r-- 1 sbasu1 staff 815 2023 Sep 13 09:18:58 tk.py
-rw-r--r-- 1 sbasu1 staff 1385 2023 Sep 13 09:18:58 wx.py
$ pip install -v mplcairo
Using pip 23.2.1 from /Users/sbasu1/packages/macports/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pip (python 3.11)
Collecting mplcairo
Using cached mplcairo-0.5-cp311-cp311-macosx_13_0_x86_64.whl
Requirement already satisfied: matplotlib>=2.2 in /Users/sbasu1/packages/macports/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from mplcairo) (3.7.2)
Requirement already satisfied: pillow in /Users/sbasu1/packages/macports/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from mplcairo) (9.5.0)
Requirement already satisfied: pycairo>=1.16.0 in /Users/sbasu1/packages/macports/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from mplcairo) (1.23.0)
Requirement already satisfied: contourpy>=1.0.1 in /Users/sbasu1/packages/macports/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from matplotlib>=2.2->mplcairo) (1.0.7)
Requirement already satisfied: cycler>=0.10 in /Users/sbasu1/packages/macports/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from matplotlib>=2.2->mplcairo) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in /Users/sbasu1/packages/macports/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from matplotlib>=2.2->mplcairo) (4.42.1)
Requirement already satisfied: kiwisolver>=1.0.1 in /Users/sbasu1/packages/macports/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from matplotlib>=2.2->mplcairo) (1.4.5)
Requirement already satisfied: numpy>=1.20 in /Users/sbasu1/packages/macports/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from matplotlib>=2.2->mplcairo) (1.25.2)
Requirement already satisfied: packaging>=20.0 in /Users/sbasu1/packages/macports/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from matplotlib>=2.2->mplcairo) (23.1)
Requirement already satisfied: pyparsing>=2.3.1 in /Users/sbasu1/packages/macports/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from matplotlib>=2.2->mplcairo) (3.1.1)
Requirement already satisfied: python-dateutil>=2.7 in /Users/sbasu1/packages/macports/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from matplotlib>=2.2->mplcairo) (2.8.2)
Requirement already satisfied: six>=1.5 in /Users/sbasu1/packages/macports/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from python-dateutil>=2.7->matplotlib>=2.2->mplcairo) (1.16.0)
Installing collected packages: mplcairo
Successfully installed mplcairo-0.5
Ugh, clearly something went wrong with the compilation.
Try again uninstalling and pip install --no-cache-dir -v mplcairo
(to force a recompilation)? Although now I do suspect that this is a fallout from https://github.com/pypa/wheel/issues/566 and I'll basically need to make a new release (which is unlikely to happen in the coming days, at least); in that case the most likely to work for you is to just install from git HEAD (where the above issue with wheel has been fixed): pip install -v git+https://github.com/anntzer/mplcairo
.
The first suggestion, pip install --no-cache-dir -v mplcairo
, did not solve the problem. However, pulling from the git head with pip install -v git+https://github.com/anntzer/mplcairo
solved it. Thanks!
FYI, this bug is still there. I just installed mplcairo
on a new computer, and import failed with this error. The fix, as described here, worked.
For me your installation solution fails at Running command Getting requirements to build wheel
with a ModuleNotFoundError: No module named 'cairo'
Not sure if there is something subtle I am missing, but I can import cairo in a script
Is there no traceback at all?
Why don't I dump the whole output
(base) C:\Users\xxxxx>pip install -v git+https://github.com/matplotlib/mplcairo
Using pip 24.0 from C:\Users\xxxxx\DevopsSetupPrograms\Anaconda\Lib\site-packages\pip (python 3.12)
WARNING: Ignoring invalid distribution ~plcairo (C:\Users\xxxxx\DevopsSetupPrograms\Anaconda\Lib\site-packages)
Collecting git+https://github.com/matplotlib/mplcairo
Cloning https://github.com/matplotlib/mplcairo to c:\users\xxxxx\appdata\local\temp\pip-req-build-3123kxct
Running command git version
git version 2.36.1.windows.1
Running command git clone --filter=blob:none https://github.com/matplotlib/mplcairo 'C:\Users\xxxxx\AppData\Local\Temp\pip-req-build-3123kxct'
Cloning into 'C:\Users\xxxxx\AppData\Local\Temp\pip-req-build-3123kxct'...
Updating files: 3% (2/60)
Updating files: 5% (3/60)
Updating files: 6% (4/60)
Updating files: 8% (5/60)
Updating files: 10% (6/60)
Updating files: 11% (7/60)
Updating files: 13% (8/60)
Updating files: 15% (9/60)
Updating files: 16% (10/60)
Updating files: 18% (11/60)
Updating files: 20% (12/60)
Updating files: 21% (13/60)
Updating files: 23% (14/60)
Updating files: 25% (15/60)
Updating files: 26% (16/60)
Updating files: 28% (17/60)
Updating files: 30% (18/60)
Updating files: 31% (19/60)
Updating files: 33% (20/60)
Updating files: 35% (21/60)
Updating files: 36% (22/60)
Updating files: 38% (23/60)
Updating files: 40% (24/60)
Updating files: 41% (25/60)
Updating files: 43% (26/60)
Updating files: 45% (27/60)
Updating files: 46% (28/60)
Updating files: 48% (29/60)
Updating files: 50% (30/60)
Updating files: 51% (31/60)
Updating files: 53% (32/60)
Updating files: 55% (33/60)
Updating files: 56% (34/60)
Updating files: 58% (35/60)
Updating files: 60% (36/60)
Updating files: 61% (37/60)
Updating files: 63% (38/60)
Updating files: 65% (39/60)
Updating files: 66% (40/60)
Updating files: 68% (41/60)
Updating files: 70% (42/60)
Updating files: 71% (43/60)
Updating files: 73% (44/60)
Updating files: 75% (45/60)
Updating files: 76% (46/60)
Updating files: 78% (47/60)
Updating files: 80% (48/60)
Updating files: 81% (49/60)
Updating files: 83% (50/60)
Updating files: 85% (51/60)
Updating files: 86% (52/60)
Updating files: 88% (53/60)
Updating files: 90% (54/60)
Updating files: 91% (55/60)
Updating files: 93% (56/60)
Updating files: 95% (57/60)
Updating files: 96% (58/60)
Updating files: 98% (59/60)
Updating files: 100% (60/60)
Updating files: 100% (60/60), done.
Running command git rev-parse HEAD
0ef09b2992259d721e6ecab6096971d2569e540d
Resolved https://github.com/matplotlib/mplcairo to commit 0ef09b2992259d721e6ecab6096971d2569e540d
Running command git rev-parse HEAD
0ef09b2992259d721e6ecab6096971d2569e540d
Running command pip subprocess to install build dependencies
Ignoring pycairo: markers 'os_name == "posix"' don't match your environment
Collecting setuptools>=62
Collecting setuptools_scm>=6.2 (from setuptools_scm[toml]>=6.2)
Collecting pybind11>=2.8.0
Collecting packaging>=20 (from setuptools_scm>=6.2->setuptools_scm[toml]>=6.2)
WARNING: Ignoring invalid distribution ~plcairo (C:\Users\xxxxx\DevopsSetupPrograms\Anaconda\Lib\site-packages)
Installing collected packages: setuptools, pybind11, packaging, setuptools_scm
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
qtconsole 5.5.1 requires qtpy>=2.4.0, but you have qtpy 2.3.1 which is incompatible.
streamlit 1.32.0 requires packaging<24,>=16.8, but you have packaging 24.1 which is incompatible.
Successfully installed packaging-24.1 pybind11-2.13.5 setuptools-74.1.1 setuptools_scm-8.1.0
Installing build dependencies ... done
Running command Getting requirements to build wheel
Traceback (most recent call last):
File "C:\Users\xxxxx\DevopsSetupPrograms\Anaconda\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
main()
File "C:\Users\xxxxx\DevopsSetupPrograms\Anaconda\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxx\DevopsSetupPrograms\Anaconda\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxx\AppData\Local\Temp\pip-build-env-by9ggc49\overlay\Lib\site-packages\setuptools\build_meta.py", line 332, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=[])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xxxxx\AppData\Local\Temp\pip-build-env-by9ggc49\overlay\Lib\site-packages\setuptools\build_meta.py", line 302, in _get_build_requires
self.run_setup()
File "C:\Users\xxxxx\AppData\Local\Temp\pip-build-env-by9ggc49\overlay\Lib\site-packages\setuptools\build_meta.py", line 318, in run_setup
exec(code, locals())
File "<string>", line 37, in <module>
ModuleNotFoundError: No module named 'cairo'
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
full command: 'C:\Users\xxxxx\DevopsSetupPrograms\Anaconda\python.exe' 'C:\Users\xxxxx\DevopsSetupPrograms\Anaconda\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py' get_requires_for_build_wheel 'C:\Users\xxxxx\AppData\Local\Temp\tmp2tts6ay3'
cwd: C:\Users\xxxxx\AppData\Local\Temp\pip-req-build-3123kxct
Getting requirements to build wheel ... error
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
(base) C:\Users\xxxxx>
On Windows this will indeed not work: see the instructions at https://github.com/matplotlib/mplcairo?tab=readme-ov-file#windows instead.
I recently installed mplcairo 0.5 on MacOS with
pip install mplcairo
. However, when I try to import it, I get:I am using python 3.11.5.