Python
Conda
Python 3.8
Software Upgrade
Package Management

Upgrade to python 3.8 using conda

Master System Design with Codemia

Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.

Introduction

If you need Python 3.8 in a Conda-managed setup, the safest approach is usually to create a new environment rather than modifying a busy existing one in place. Conda can upgrade or downgrade the interpreter, but environment compatibility is easier to manage when the change is isolated.

Decide Between New Environment and In-Place Upgrade

You have two common paths:

  • create a fresh environment with Python 3.8
  • change the Python version inside an existing environment

Creating a fresh environment is the lower-risk option because it does not disturb the working state of your current packages.

bash
conda create -n py38 python=3.8
conda activate py38
python --version

That gives you a clean interpreter and lets Conda resolve dependencies specifically for Python 3.8.

If you already know some packages you need, include them during creation:

bash
conda create -n py38 python=3.8 numpy pandas

This is often cleaner than installing Python first and many packages later.

In-Place Upgrade or Downgrade

If you must keep the same environment name, activate it and ask Conda to install the required Python version:

bash
conda activate myenv
conda install python=3.8
python --version

Conda will solve the environment again and may upgrade, downgrade, or remove packages to satisfy compatibility. Read the proposed transaction carefully before accepting it.

Export Before You Change Anything

Before editing an existing environment, export it:

bash
conda activate myenv
conda env export > myenv-backup.yml

That gives you a recovery point if the solver produces a result you do not want.

For a lighter-weight package list:

bash
conda list --explicit > myenv-spec.txt

This can be useful when you want reproducible reinstall behavior.

Verify the Active Interpreter

One common source of confusion is updating one environment and then running a different Python binary. Confirm both the version and the path:

bash
python --version
which python
conda info --envs

On Windows, use:

powershell
python --version
where python
conda info --envs

If the path does not point to the active Conda environment, the upgrade may have worked but the shell is not using it.

Reinstall Packages if Needed

Some packages pinned in an older environment may not be compatible with Python 3.8. If Conda cannot solve cleanly, it is often easier to start from a smaller environment and add dependencies one group at a time.

For example:

bash
1conda create -n py38-clean python=3.8
2conda activate py38-clean
3conda install scipy matplotlib
4python -c "import scipy, matplotlib; print('ok')"

That approach makes compatibility failures much easier to isolate.

When pip Enters the Picture

If you mix pip packages into the environment, install the Conda packages first and pip packages afterward. Changing the interpreter version in an environment that already contains many pip-installed wheels can become messy because Conda cannot fully reason about those packages.

If the old environment is heavily pip-based, creating a fresh py38 environment is usually the right move.

Common Pitfalls

The biggest mistake is changing Python in a crowded environment without exporting a backup first.

Another mistake is assuming the upgrade failed when the real problem is that the shell or IDE is still pointing at a different Python executable.

A third issue is trying to force incompatible package pins to remain unchanged. Sometimes the environment must be rebuilt rather than gently upgraded.

Summary

  • The safest way to get Python 3.8 with Conda is usually conda create -n py38 python=3.8.
  • You can change an existing environment with conda install python=3.8, but that is riskier.
  • Export the current environment before modifying it.
  • Verify both python --version and the interpreter path after the change.
  • If dependency solving becomes messy, build a fresh environment and reinstall packages incrementally.

Course illustration
Course illustration

All Rights Reserved.