I know there are a lot of questions on the coexistence and interchangeability/non-interchangeability of pip
and conda
. That is not my question: I know I need both for my work, I use both, and for the most part, my conda envs
are a manageable mess.
But here's the thing: there's many ways to install pip
. I happened to get conda
going first, so my pip
is through anaconda/bin/pip
. It is the only pip
on my machine. Here are my questions:
- Is this sensible? Do I want my
pip
to be usr/bin/pip
and be independent of global conda
? It feels not-sensible.
- If I install a new
pip
through say brew
or easy_install
, should I start downloading packages through this new pip
? Would that be awful and mess everything up?
Thanks!
Pip always requires a version of Python to be installed, and is associated with that specific Python installation. By default, pip installs packages for its own Python, into the related site-packages
directory inside the Python library directory. The exact location of this directory depends on your operating system and how you installed conda.
If you install pip via Homebrew or with another installation of Python, you should not use that pip and expect it to install for conda. For that matter, if you create a new conda environment, you should not expect that the pip in that environment will install packages into another environment.
There is the --user
option to pip, which installs packages into a directory in your user account (on *nix systems, this is ~/.local
; I can't recall for Windows where this is). These packages will be able to be found by all Python versions with the same major and minor version number. However, it is not recommended to install packages with the intent of sharing them among several Pythons this way, because if the different Pythons were compiled with different compilers, you may run into trouble.