Skip to content

Managing Multiple Python Versions With pyenv

pyenv: Allows you to install and manage multiple versions of Python on your machine.

pyenv install --list

pyenv install 3.8.12

# After installation, set Python 3.8 as the global or local version:
pyenv global 3.8.12

Steps to Resolve:

To resolve this issue and ensure that pipenv uses Python 3.8.1 as specified:

  1. Verify pyenv Installation:

    Confirm that pyenv has successfully installed Python 3.8.1 and it is available:

    pyenv versions
    

    Ensure that 3.8.1 is listed as one of the installed versions.

  2. Set Global Python Version:

    Set Python 3.8.1 as the global version to ensure all pipenv commands use this version:

    pyenv global 3.8.1
    

    This command sets Python 3.8.1 globally, so pipenv will use it when creating environments.

  3. Recreate pipenv Environment:

    Remove the existing pipenv environment (if it's not set up correctly) and recreate it to ensure it uses Python 3.8.1:

    pipenv --rm  # Remove existing environment
    pipenv --python 3.8.1  # Recreate environment with Python 3.8.1
    

    This will delete the current pipenv environment and recreate it using Python 3.8.1 specified by pyenv.

  4. Update Pipfile Configuration:

    After recreating the environment, ensure the Pipfile reflects the correct Python version:

    cat Pipfile
    

    Update [requires] section to specify python_version = "3.8" instead of 3.12 if necessary

  5. Activate pipenv Environment:

    Activate the pipenv environment to start using it for your project:

    pipenv shell
    

    This command activates the virtual environment and sets up the environment variables accordingly.


Additional Considerations:

  • Shell Configuration: Ensure that your shell configuration (e.g., ~/.bashrc, ~/.zshrc) reflects the correct pyenv settings and Python version. Sometimes, restarting your shell session after setting the global Python version (pyenv global 3.8.1) can help apply the changes correctly.

  • Clean Environment: If issues persist, consider cleaning up any residual files or caches (pipenv --clear) and retrying the steps above.

By following these steps, you should be able to resolve the issue where pipenv is using the incorrect Python version and ensure it uses Python 3.8.1 as intended. This aligns your development environment properly and ensures consistency across your project.


Reference