22

I created a Windows (10) Python virtual environment (env3.7.3). When I open a cmd window activated in the virtual environment, I get the following warning message when starting Python in the virtual environment:

(env3.7.3) C:\Users\redex\OneDrive\Documents\Education\Machine Learning-Ng Python\Exercise7>python
Python 3.7.3 (default, Apr 24 2019, 15:29:51) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated.  Libraries may fail to load.  To activate this environment
please see https://conda.io/activation

This warning has been posted before in a different context, but it did not address my question. This warning appears only in the Python virtual environment, not the base Conda environment. This seems like a Windows or Anaconda environment variable issue, but I don't know enough to know! Anaconda was recently upgraded and it seemed fine before, so there may be a bug or setting issue.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Bill
  • 653
  • 2
  • 7
  • 20
  • Did you ever find a solution for this? I myself use conda alongside venv for different purpose (conda is for data sciency stuffy, venv is for backend stuff). It's not breaking anything because if I call `sys.executable` within my venv it points to the proper one, but it's annoying to have this warning when it's not supposed to happen. – wtfzambo Apr 19 '21 at 15:22

8 Answers8

8

The error message tells you that the Python interpreter from the Conda environment was found, but that conda activate <envname> has not been called. Did you put the bin/ directory of the Conda environment into the Windows search path? That would be wrong.

You're talking about virtualenvs. But Python virtual environments are something else than Conda environments. Maybe you mixed up the two concepts?

The Python interpreter from the Conda base environment does not complain about missing activation, because it's called by some of the conda subcommands and can work without an activated environment. Nevertheless, you should call conda activate base when working with that Conda environment, too.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Roland Weber
  • 3,395
  • 12
  • 26
  • Thanks for the reply. My intention is to create a Python virtual env, not a conda environment. The reason is related to a problem VS Code has with conda when invoking the debugger (see https://stackoverflow.com/questions/56475068/why-doesnt-vscode-activate-conda-before-starting-the-debugger/56676210#56676210) By creating a local python virtual environment, the debugger works properly. – Bill Jun 20 '19 at 17:13
  • 3
    @Bill If you want to work with Python virtual environments, then don't use `conda` at all. The two don't mix. – Roland Weber Jun 21 '19 at 08:38
3

Where myenv is "your env name",

Try this:

conda activate myenv

conda install pip

This should solve the issue.

SherylHohman
  • 16,580
  • 17
  • 88
  • 94
  • 5
    where should I "Try this"? In the Windows cmd, `conda : The term 'conda' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + conda activate myenv` – XYZ Feb 09 '21 at 13:47
  • 1
    Noobie question => It would be helpfule here to understand what my "env name" might be. In Anaconda's Navigator I see four... Can you add some detail on how to determine "myenv"? I believe the simple is the one from Roland and Morton above... just add to "base". Would that be right? – Jamie Oct 28 '22 at 13:54
1

You have to activate your Conda environment after activating your environment of Flask.

So that you will have two virtual environments as shown here:

$(virtualenv) (env) C:\Users\Public\Projects\FlaskInt>python
Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
1

I solved this problem by installing the python in the specific environment after activating it

conda install python

pip install python

with specific version

pip/conda install python==3.8

Saran Zeb
  • 311
  • 3
  • 7
0

I met a similar problem,

   Python 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32

Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated.  Libraries may fail to load.  To activate this environment
please see https://conda.io/activation

Type "help", "copyright", "credits" or "license" for more information.
Failed calling sys.__interactivehook__
Traceback (most recent call last):
  File "D:\anaconda\content\lib\site.py", line 439, in register_readline
readline.read_history_file(history)
  File "D:\anaconda\content\lib\site-packages\pyreadline\rlmain.py", line 165, in read_history_file
self.mode._history.read_history_file(filename)
  File "D:\anaconda\content\lib\site-packages\pyreadline\lineeditor\history.py", line 82, in read_history_file
for line in open(filename, 'r'):
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 1985: illegal multibyte sequence

But I solved the problem by replacing "r" with "rb" in line 82.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
  • Line 82 of what? What is in line 82? Please respond by [editing (changing) your answer](https://stackoverflow.com/posts/66593052/edit), not here in comments (***without*** "Edit:", "Update:", or similar - the answer should appear as if it was written today). – Peter Mortensen Nov 04 '21 at 03:43
0

If you have anaconda, run the following from anaconda prompt:

conda config --set auto_activate_base true
shahar_m
  • 3,461
  • 5
  • 41
  • 61
0

As @Saran Zeb mentions you just need to install Python. Whenever you create a conda environment with: conda create -n myenv

the directory created is always empty. This means you need to install Python. You can either create the environment with a Python distribution already installed doing:

conda create -n sample python=3.9

or install Python once the environment is created and activated doing

conda install python=3.8

or

conda install python

if you just want the latest version.

CARLOS
  • 56
  • 6
0

In order to work with python we need to be within conda package manager environment. So we will have to activate a virtual environment that we want to work with.

type the below command to activate activate base

we are giving the name of environment as "base" here. make sure condabin folder from anaconda installation is in your windows path variable for this command to work.

Shekar
  • 81
  • 1
  • 2