Opened 8 years ago

Closed 6 years ago

#16897 closed enhancement (wontfix)

use pip for some optional/experimental python packages

Reported by: vdelecroix Owned by:
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: build Keywords:
Cc: Merged in:
Authors: Vincent Delecroix Reviewers: Jeroen Demeyer
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

GitHub link to the corresponding issue


Instead of using the home made sage-spkg for unpatched Python packages it would be simpler/better to use pip (no worries about upgrades, etc). As examples, we have the following optional packages that can be used to test the switch

  • beautiful soup
  • pyopenssl
  • pyqtx
  • pyzmq

Change History (5)

comment:1 Changed 8 years ago by vdelecroix

I guess the simplest would be to make pip a standard package and create the command sage -pip.

Then for each of the listed package in the description, the sage-spkg script will just raises an error explaining the new procedure

The packages XYZ is now handled with pip (a package manager for Python).
To install it, just do
   $ sage -pip install XYZ [extra_options]
For further informations, refer to the documentation at

Another option is to redirect sage-spkg input to pip if everything else failed but I do not like that so much.


Last edited 8 years ago by vdelecroix (previous) (diff)

comment:2 Changed 7 years ago by embray

#20218 offers a middle ground--it keeps spkg-install (in particular since at least some packages need a little more work before it can run pip). But for most Python packages the sole function of spkg-install is to cd into its source and run pip.

I think having a proper spkg-install script for each package, even if it's trivial, is ultimately simpler and less confusing than having different build/install paths for different kinds of packages that meet a very specific set up conditions. Better that all packages have an spkg-install documenting "this is how you install this package", and not require a priori knowledge that some arbitrary package happens to be a Python module distribution.

comment:3 Changed 6 years ago by jdemeyer

Milestone: sage-6.4sage-duplicate/invalid/wontfix
Reviewers: Jeroen Demeyer
Status: newneeds_review

We have pip packages now.

comment:4 Changed 6 years ago by jdemeyer

Status: needs_reviewpositive_review

comment:5 Changed 6 years ago by embray

Resolution: wontfix
Status: positive_reviewclosed

Closing tickets in the sage-duplicate/invalid/wontfix module with positive_review (i.e. someone has confirmed they should be closed).

Note: See TracTickets for help on using tickets.