Updating python in anaconda virtual environment - python

I am trying to update my python version in an anaconda3 virtual environment from 3.6 to 3.10.
Steps taken:
1. Download python 3.10 64bit from pyton.org
2. anaconda prompt: conda activate gis (my venv)
3. anaconda prompt: (gis) C:\User\User>python -m venv --upgrade "C:/Users/User/anaconda3/envs/gis" (path to my virtual environment)
4. check python version in venv: did not change, still 3.6.
note: command prompt displays Python was not found when passed python --version which is inconsistent with tutorials I have watched. I thought that because I was using anaconda, possibly I was to follow the same steps as the tutorials but in anaconda prompt. Maybe this was an incorrect assumption.
If I check the version in my base environment, it is 3.10. This happened automatically upon downloading python 3.10.
Thanks for your help!

You seem to be mixing up venv and conda. Your environment is managed by conda (which is a project separate from the Python language), whereas venv is the de facto virtual environment manager used within the Python language. I'm not even sure how venv handles the command you have provided.
If having 3.10 is a priority, I would suggest that you create a new conda environment using 3.10 and install any packages from your previous 3.6 environment. (This is also what the conda project recommends.)

Related

Python UPGRADE changed virtual VENV environment version using official installer on Windows 10

Now this is not a duplicate question:
I installed (upgraded Python) using the Windows installer.
It gave me the "upgrade" option. So I did.
But herein lies the problem.. It has seemingly upgraded the versions inside my virtual environments created with VENV. When I run python -V inside the activated environment it shows version 3.10.8 when it should be 3.10.4 (the version I upgraded from)..
Is this normal behaviour? See installers below:
https://docs.python.org/3/using/windows.html#virtual-environments

On Windows machine, installed Python 3.7 but it seem like 3.6 is running

Yesterday I uninstalled my Python 3.6 and installed Python 3.7. I simply ran the executable and followed the prompts. Here is a screen shot of my Programs and Features in my Control Panel.
However, when I check the version in the command prompt, it seems like version 3.6 is still running!
If you have an Anaconda Python installation, you can either upgrade it to your chosen version of Python or create a new conda environment with the version you want.
To see what environments you have set up, do conda env list
To upgrade Python in an environment myenv, do activate myenv then conda update python (to get the latest version) or conda install python=x.y.z (to install version x.y.z, assuming it's available from your conda channels)
You probably didn't completely uninstall your old python version and windows is still pointing to the old installation. Edit your PATH and point your new python 3.7 directory.
Go to My Computer/This PC --> right click --> properties --> advanced system settings --> environment variables --> PATH
You should see a path directory that looks something like this:
C:\Users\Programs\Python\Python36\
Change that directory and point to your python 3.7 installation.
If you want you can keep the old installation of python 3.6 on your computer, it's not necessary to uninstall it and you can work on projects using older python versions when needed.
It looks like you have a Python executable in your PATH from a Anaconda installation (hence the Anaconda Inc at the end of your version number).
You have a few options here:
You can either find the Anaconda installation and remove it (echo %path% into the command prompt may help).
Edit your PATH to make sure that your Python 3.7.3 installation is called first before the Anaconda install.
Upgrade your Anaconda installation to the latest version that uses Python 3.7.
When you install anaconda, a box is automatically checked to make your computer see the version of python installed with conda as the primary version, you could probably uninstall conda or change you system env path taking conda off it.

Anaconda always installs Python 3.7

My Ubuntu system is on python 2.7.15
conda install -c anaconda flask
Anaconda always installs python 3.5 with Flask and other packages. How can I not install python 3.7 and leave python 2.7.15 as is when installing anaconda packages?
The Python you install with anaconda does not interfere at all with your system Python. You can use Anaconda to have multiple Pythons (in multiple conda environments) besides the system Python. You just have to make sure which one is invoked when you run scripts and make sure it's the one you intended.
To answer the "literal" question you asked, you can specify the Python version when installing something:
conda install -c anaconda flask python=2
This will keep your Python at version 2 or report a mismatch if the package you want to install isn't available on anaconda for Python 2. The number of packages dropping Python 2 support is increasing because Python 2 is near it's "end of life", so don't expect to get latest or even near-latest releases of the packages when keeping at Python 2.
Personally I would recommend to create a different environment instead of trying to install to much into the base environment:
conda create -n mypython2environment python=2 flask
And by activating that environment you should be able to use the packages you installed in that environment:
activate mypython2environment
Several IDEs have built-in support for conda environments, so these may be helpful (especially in making sure you use the correct environment and thus the correct Python).

Virtualenv installing modules with multiple Python versions

I am trying to start a Python 3.6 project by creating a virtualenv to keep the dependencies. I currently have both Python 2.7 and 3.6 installed on my machine, as I have been coding in 2.7 up until now and I wish to try out 3.6. I am running into a problem with the different versions of Python not detecting modules I am installing inside the virtualenv.
For example, I create a virtualenv with the command: virtualenv venv
I then activate the virtualenv and install Django with the command: pip install django
My problems arise when I activate either Python 2.7 or 3.6 with the commands
py -2 or py -3, neither of the interactive shells detect Django as being installed.
Django is only detected when I run the python command, which defaults to 2.7 when I want to use 3.6. Does anyone know a possible fix for this so I can get my virtualenv working correctly? Thanks! If it matters at all I am on a machine running Windows 7.
Create virtual environment based on python3.6
virtualenv -p python3.6 env36
Activate it:
source env36/bin/activate
Then the venv36 has been activated, venv36's pip is available now , you can install Django as usual, and the package would be stored under env36/lib/python3.6/site-packages:
pip install django
You have to select the interpreter when you create the virtualenv.
virtualenv --python=PYTHON36_EXE my_venv
Substitute the path to your Python 3.6 installation in place of PYTHON36_EXE. Then after you've activated, python executable will be bound to 3.6 and you can just pip install Django as usual.
The key is that pip installs things for a specific version of Python, and to a very specific location. Basically, the pip command in your virtual environment is set up specifically for the interpreter that your virtual environment is using. So even if you explicitly call another interpreter with that environment activated, it will not pick up the packages pip installed for the default interpreter.

How to install 2 Anacondas (Python 2 and 3) on Mac OS

I'm relatively new in macOS. I've just installed XCode (for c++ compiler) and Anaconda with the latest Python 3 (for myself). Now I'm wondering how to install properly second Anaconda (for work) with Python 2?
I need both versions to work with iPython and Spyder IDE. Ideal way is to have totally separate Python environments. For example, I wish I could write like conda install scikit-learn for Python 3 environment and something like conda2 install scikit-learn for Python 2.
There is no need to install Anaconda again. Conda, the package manager for Anaconda, fully supports separated environments. The easiest way to create an environment for Python 2.7 is to do
conda create -n python2 python=2.7 anaconda
This will create an environment named python2 that contains the Python 2.7 version of Anaconda. You can activate this environment with
source activate python2
This will put that environment (typically ~/anaconda/envs/python2) in front in your PATH, so that when you type python at the terminal it will load the Python from that environment.
If you don't want all of Anaconda, you can replace anaconda in the command above with whatever packages you want. You can use conda to install packages in that environment later, either by using the -n python2 flag to conda, or by activating the environment.
Edit!: Please be sure that you should have both Python installed on your computer.
Maybe my answer is late for you but I can help someone who has the same problem!
You don't have to download both Anaconda.
If you are using Spyder and Jupyter in Anaconda environmen and,
If you have already Anaconda 2 type in Terminal:
python3 -m pip install ipykernel
python3 -m ipykernel install --user
If you have already Anaconda 3 then type in terminal:
python2 -m pip install ipykernel
python2 -m ipykernel install --user
Then before use Spyder you can choose Python environment like below!
Sometimes only you can see root and your new Python environment, so root is your first anaconda environment!
Also this is Jupyter. You can choose python version like this!
I hope it will help.
This may be helpful if you have more than one python versions installed and dont know how to tell your ide's to use a specific version.
Install anaconda. Latest version can be found here
Open the navigator by typing anaconda-navigator in terminal
Open environments. Click on create and then choose your python version in that.
Now new environment will be created for your python version and you can install the IDE's(which are listed there) just by clicking install in that.
Launch the IDE in your environment so that that IDE will use the specified version for that environment.
Hope it helps!!

Categories

Resources