Opened 7 years ago

Closed 4 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:

Status badges


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 7 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 7 years ago by vdelecroix (previous) (diff)

comment:2 Changed 5 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 4 years ago by jdemeyer

  • Milestone changed from sage-6.4 to sage-duplicate/invalid/wontfix
  • Reviewers set to Jeroen Demeyer
  • Status changed from new to needs_review

We have pip packages now.

comment:4 Changed 4 years ago by jdemeyer

  • Status changed from needs_review to positive_review

comment:5 Changed 4 years ago by embray

  • Resolution set to wontfix
  • Status changed from positive_review to closed

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.