Set python version when creating virtualenv using pipenv

When setting up your pipenv you can specify the version of Python by using: pipenv --python 3.6, to use Python3.6.

Editing the Pipfile also works, by changing:

[requires] python_version = "3.6.6"

to the specific version of Python you want.

If you did all of this and are still having trouble with accessing the correct version of Python from within pipenv shell then you might want to check your .bashrc file to be sure that you don't have an alias for a specific version of Python.


If you want to create a virtual environment for your project the answers above might not work for you. For instance, if you have multiple versions of python installed and you had to rename the executables like I had to in the below example, OR for the same project you might want to create virtual environments that use different python versions.

When creating virtual environments for your projects, you can more specific and specify the path of the python executable.

Remember to run the below command relative to the project folder.

pipenv install --python 'C:\Python373\python373.exe'

"Edit the Pipfile" is the right way to go if you want to change the Python version of an existing environment.

If you want to create a new environment using Python 3.6, you can run

pipenv install --python 3.6

rather than

pipenv install --three

and that should do the trick.

Just be certain to delete the old Pipfile(s) if you create the new environment or else the commands will fail.


I suggest you two approaches:

  1. pip install --python 3.7 <your desired version number to be replaced>

(This requires either asdf or pyenv installed. If you don't have them installed, read on!)

  1. The manual method.(Applicable for Linux)(For win refer @Ryner's answer!)
  • Download the python gzip from python.org and extract it to a folder, cd to it.

  • Hit the following

     ./configure
    
     make 
    
     sudo make install
    
  • Now you have python version locally installed, all you gotta do is step one.

pipenv install --python <version-u-installed>

Note: If for any case, if you want to uninstall,go to the directory where you executed make, and simply hit make uninstall

Hope that helps! Happy coding!