Harrison
Harrison

Reputation: 2690

local pip in conda environment checks globally and says Requirement already satisfied

create virtual environment conda create test python=3.7

Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /Users/mac/miniconda3/envs/test

  added / updated specs:
    - python=3.7


The following NEW packages will be INSTALLED:

  ca-certificates    pkgs/main/osx-64::ca-certificates-2019.10.16-0
  certifi            pkgs/main/osx-64::certifi-2019.9.11-py37_0
  libcxx             pkgs/main/osx-64::libcxx-4.0.1-hcfea43d_1
  libcxxabi          pkgs/main/osx-64::libcxxabi-4.0.1-hcfea43d_1
  libedit            pkgs/main/osx-64::libedit-3.1.20181209-hb402a30_0
  libffi             pkgs/main/osx-64::libffi-3.2.1-h475c297_4
  ncurses            pkgs/main/osx-64::ncurses-6.1-h0a44026_1
  openssl            pkgs/main/osx-64::openssl-1.1.1d-h1de35cc_3
  pip                pkgs/main/osx-64::pip-19.3.1-py37_0
  python             pkgs/main/osx-64::python-3.7.5-h359304d_0
  readline           pkgs/main/osx-64::readline-7.0-h1de35cc_5
  setuptools         pkgs/main/osx-64::setuptools-42.0.1-py37_0
  sqlite             pkgs/main/osx-64::sqlite-3.30.1-ha441bb4_0
  tk                 pkgs/main/osx-64::tk-8.6.8-ha441bb4_0
  wheel              pkgs/main/osx-64::wheel-0.33.6-py37_0
  xz                 pkgs/main/osx-64::xz-5.2.4-h1de35cc_4
  zlib               pkgs/main/osx-64::zlib-1.2.11-h1de35cc_3

check the reference of pip, which is correct.

(test) mac@mac-MBP ~ % which pip
/Users/mac/miniconda3/envs/test/bin/pip
(test) mac@mac-MBP ~ % pip --version
pip 19.3.1 from /Users/mac/miniconda3/envs/test/lib/python3.7/site-packages/pip (python 3.7)

install pip install jupyter shows

Requirement already satisfied: jupyter in ./.local/lib/python3.7/site-packages (1.0.0)

I can use conda to uninstall and reinstall pip, which will solve the Requirement already satisfied issue, but it also upgrades python3.7 to 3.8 for some reason. I have to use 3.7 because tensorflow currently only supports 3.7.

Not sure what's wrong here. I have used the same commands to create environment and also worked smoothly. The only change I can think of is that I changed from bash to zsh because of Catalina. Any help would be appreciated.

Upvotes: 4

Views: 3136

Answers (2)

Harrison
Harrison

Reputation: 2690

The issue was I installed Jupyter with --user flag before, so the package was installed in the user directory outside of the conda env directory. pip list --user shows these packages.

The solution is to uninstall these packages first.

pip freeze --user > packages.txt
pip uninstall -r packages.txt

Upvotes: 4

Ashu007
Ashu007

Reputation: 795

You can call the pip with the python version you want to install the package for. For more detail please go through the link am pasting below:

Install a module using pip for specific python version

and do not forget to restart your anaconda after installing. Hope it'll solve your issue

Upvotes: 1

Related Questions