Opened 11 years ago

Closed 11 years ago

#39825 closed defect (fixed)

py32-matplotlib @1.2.1: py32-six install fails if first installed py32-matplotlib

Reported by: mndavidoff (Monte Davidoff) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.1.3
Keywords: haspatch Cc: seanfarley (Sean Farley), g5pw (Aljaž Srebrnič)
Port: py-matplotlib, py-six

Description

The installation of py-six @1.3.0 fails if py32-matplotlib @1.2.1 is already installed.

$ sudo port -vs install py32-matplotlib
$ sudo port -vs install py32-six
...
x ./opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/six.py
x ./opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/__pycache__/six.cpython-32.pyc
Error: org.macports.activate for port py32-six returned: Image error: /opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/__pycache__/six.cpython-32.pyc is being used by the active py32-matplotlib port.  Please deactivate this port first, or use 'port -f activate py32-six' to force the activation.
Warning: targets not executed for py32-six: org.macports.activate
Please see the log file for port py32-six for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-six/py32-six/main.log
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port py32-six failed

It appears that py32-matplotlib installs its own six package.

$ port contents py32-matplotlib | grep six
  /opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/__pycache__/six.cpython-32.pyc
  /opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/six.py

Both packages install without errors if I install py32-six first and then py32-matplotlib. The attached patch appears to fix the problem. It changes py3*-matplotlib to depend on py3*-six. It also adds a py33-six subport for the py33-matplotlib dependency.

Attachments (3)

main.log.gz (4.2 KB) - added by mndavidoff (Monte Davidoff) 11 years ago.
Portfile-matplotlib.diff (754 bytes) - added by mndavidoff (Monte Davidoff) 11 years ago.
Portfile-six.diff (432 bytes) - added by mndavidoff (Monte Davidoff) 11 years ago.

Download all attachments as: .zip

Change History (5)

Changed 11 years ago by mndavidoff (Monte Davidoff)

Attachment: main.log.gz added

Changed 11 years ago by mndavidoff (Monte Davidoff)

Attachment: Portfile-matplotlib.diff added

Changed 11 years ago by mndavidoff (Monte Davidoff)

Attachment: Portfile-six.diff added

comment:1 Changed 11 years ago by stromnov (Andrey Stromnov)

py-six: updated at r109045

comment:2 Changed 11 years ago by stromnov (Andrey Stromnov)

Resolution: fixed
Status: newclosed

Matplotlib is no longer installs its own six package.

py-matplotlib 1.3.0 now depends on py-six in all subports (r109052)

Note: See TracTickets for help on using tickets.