On 20 August 2013 11:25, Oscar Benjamin <oscar.j.benja...@gmail.com> wrote:
> On 20 August 2013 09:51, Paul Moore <p.f.mo...@gmail.com> wrote: > > 1. Will the bundled pip go into the system site-packages or the user > > site-packages? Does this depend on whether the user selects "install for > all > > users" or "install for just me"? > > If you have get-pip then why not choose at that point whether you want > to install for the system or for all users e.g.: 'py -3.4 -m get-pip > --user' (or perhaps reverse the default)? > That's not how get-pip is being proposed. It will run automatically on installation of Python. If it were manually run, *and* if a --user flag was included, then you would be correct. > 2. If pip goes into system site-packages, what happens with the > uninstaller? > > It doesn't know about pip, so it won't uninstall Python cleanly. (Not a > > major point, you can delete the directory manually after uninstalling, > but > > it's untidy). Maybe the uninstaller should just unconditionally delete > all > > of site-packages as well as whatever files it knows were installed. This > is > > a "normal" issue when installing into the system Python, but for people > who > > avoid that and use virtualenvs (e.g. me :-)) it's new (and annoying, as > > we'll never use the system pip in any case...) > > Can you not just teach the Python installer to check for pip and > remove it if found? > I'm not sure. That's my point, essentially. Who knows enough about the Windows installer to do this correctly? If the answer is "nobody", then is a best-efforts approach with some issues that we don't have anyone who knows how to solve, an acceptable approach? Maybe it is, I'm not claiming that this is a major issue, but we should note it in the PEP as a limitation. > This raises another point - to an extent, I don't care about any of this, > as > > I routinely use virtualenvs. But if using pip to manage the system > python is > > becoming the recommended approach, I'd like to understand what precisely > the > > recommendation is so that I can see if it's better than what I currently > do > > - for instance, I've never used --user so I don't know if it will be of > > benefit to me. I assume that this will go in the packaging user guide in > due > > course, but I don't know who will write it (does anyone have the relevant > > experience? most people I know recommend virtualenv...) > > If I could install everything I wanted with pip then virtualenvs would > be more practical. Maybe when wheel distribution becomes commonplace > I'll start doing that. I basically always want to install a large > number of third party packages before I do anything though. > > So for me the procedure on ubuntu is something like: > 1) install ubuntu > 2) sudo apt-get install python-numpy python-scipy python-matplotlib > ipython python-sympy python-dev cython python-pygraph python-tables > python-wxgtk2.8 python-pywt python-sphinx ... > > On Windows the procedure is: > 1) Install Python > 2) Get MSIs for numpy, scipy, wxPython, matplotlib, PyQt, numexpr, ... > 3) Setup PATH or create a shell/batch script called 'python' that does > the right thing. > 4) Run ez_setup.py and Install pip > 5) Patch distutils (http://bugs.python.org/issue12641) > 6) Use pip for cython, sympy, ipython, pyreadline, spyder, sphinx, > docutils, line_profiler, coverage, ... > 7) Build and install my own commonly used private packages. > 8) Get more prebuilt binaries for other awkward packages when > necessary: pytables, numexpr, mayavi, ... > > (You can see why some people just install Python(x, y) or EPD right?) > > It takes quite a while to do all this and then I have basically all > the packages I want minus a few pippable ones. At this point I don't > really see the point in creating a virtualenv except to test something > that I'm personally developing. Or am I missing something? > :-) Yes, it's a pain. My experience is better because I don't use that many packages that need binaries. For those that I do, I maintain a local cache of wheels that I convert from bdist_wininst installers using "wheel convert" and then pip install works for everything. This is a really slick experience, but it relies on me maintaining my local repo, and having an appropriate -i flag added to pip (or I put it in pip.ini). As I work on multiple PCs, it's still fiddly (I put the cache on my skydrive for ease). But yes, if I made extensive use of binary extensions, I'd hate this approach. That's why I keep saying that the biggest win for wheels will be when they become the common means of distributing Windows binaries on PyPI, in place of wininst/msi. Paul
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig