Using Python 3.6 when OS uses 3.7 - python-3.x

I have a new laptop (dell xps 9570) on which I have installed fedora 29 which I will use for coding/data science.
Fedora 29 uses Python 3.7 but Tensorflow is not compatible with that version, so how can I use Python 3.6 without overriding system's default?
I have heard recently about virtual environment for Python but I don't know much about it, so I wonder is it possible to install Python 3.6 on a virtual environment?
Thank you

You can't install Python itself with pip; just Python packages.
You could use something like Conda. That provides a more separate (virtual) environment, including the Python executable. Conda also provides TensorFlow (up to version 1.12.0), which should make for a relatively easy installation:
conda create -n tensorflowenv python=3.6 tensorflow
Conda may take a while to solve the environment; just let it run, and it will likely install Python 3.6 in the Conda environment (whilst keeping your system Python 3.7), where you can then use TensorFlow.

Related

Installing Python 2.7 projects in a system with Python 3.10

I've come to a delicate situation:
My company's projects are all based in Python 2.7 and use specific PATH and PYTHONPATH exports to get around each other. The new machine I received has Ubuntu 22.04 and Python 3.10 preinstalled. My previous used to have Python 2.7 and I just installed 3.x on top and it worked just fine, at the beginning. I ended up messing up all the version altogether and everything seemed broken. So now I'm cautious on how to proceed
I've watched numerous tutorials online about setting up a virtual environment and how 'easy' it is to work with multiple version but seems that don't do the trick.
I would like to set up a virtual environment in Python 2.7 where I can just
python setup.py install ....
with all my packages and install them using python 2.7
At the same time, I'd like Python 3 to be available (because I'm futurizing some of these projects) to also install them using Python 3:
python3 setup.py install ...
What is the best strategy to implement this on my machine? Python 2 looks like it's not installed at all. Should I just install it on top of 3.10 ?

How to install Spyder-terminal in Python 3.8 or 3.9 with Spyder v4.3.x or Spyder 5.0.x

Spyder-terminal does not install with Anaconda Navigator running Python v3.8 or v3.9 or v3.10.
My question is "Is there a way to install the Spyder-Terminal Plugin using Anaconda Navigator running Python 3.8 or 3.9 or 3.10, and use Spyder v5.x " ?
Is there a hack for this to run inside Spyder 5.0.x on Python 3.8, 3.9 or 3.10, WITHOUT creating a new virtual environment?
My Software Versions
Spyder-Terminal Version: spyder-terminal-0.5.0 (spyder-ide/win-64)
Python Version: 3.8 or 3.9
Anaconda v2.0.1
Operating system: Windows 10
What I tried:
I tried installing 'conda install -c spyder-ide spyder-terminal' from Anaconda Command Prompt. I did several trials with MANY errors to learn that Spyder-terminal only works with Spyder v4.2 and NOT Spyder v5.0.3.
Spyder-terminal is (nominally) supposed to work in Python 3.9. So I tried upgrading Anaconda base environment to Python 3.9. However, that BROKE the Anaconda base environment, which required uninstalling and reinstalling the entire Anaconda distribution. (What a hassle. Good thing this was on someone else's computer! 8^))
I finally got it to work in a separate conda virtual environment running Python 3.6. Just to be conservative, I used Python 3.6 instead of Python 3.7. (I later installed Spyder-Terminal in a Python 3.7-based virtual environment and it worked fine.)
The steps that finally worked were to Create a new conda environment with Python 3.6 and install spyder-terminal and spyder-notebook there.
I used the following commands...
conda create -n python36 -c conda-forge python=3.6
conda install spyder-terminal -c conda-forge spyder-ide
conda install spyder-notebook -c conda-forge spyder-ide
The correct version of Spyder (for Python 3.6) was installed along with all of its correct dependencies.
What steps will reproduce the problem?
try installing into an Anaconda distribution with Python 3.8 or Python 3.9 kernels
Wait a long time and get many errors.
Rip out a few locks of hair (preferably someone else's)
**What is the expected output?
Spyder-Terminal plugin installs and is available for use.
What do you see instead?
A bunch of errors. The exact errors were lost when I closed the installation console.
Suggestions
The Spyder-terminal plugin failed repeatedly in Anaconda "base" running v3.8.x or a new environment running v3.9.x. I used a new conda virtual environment, running Python 3.6 runtime kernel and install spyder-terminal there.
The Spyder-terminal installer should do version checks for Python and Spyder FIRST, warn the user, and stop if they are not using Python 3.6 or Python 3.7.
Clearer documentation for Spyder-Terminal plugin installation on the Github.com home page (or built into Spyder Menu "Help" will help the "HELP" system. These docs should state WHICH version(s) of Spyder and Python that Spyder-Terminal v0.5.x requires. A dependency table would also be useful.

Upgradation to Python 3.7

I have Ubuntu 19.04 OS and I needed python 3.6 version so I somehow managed to get python3.6 on my device without removing python3.7 but now I would like to revert back to using python3.7. Can anyone suggest how to do it?
If you've got multiple version of Python installed, you can choose which one to use as default in update-alternatives:
sudo update-alternatives --config python3
, then follow the prompt instructions.
Try using virtual environments, namely anaconda for these kinds of things. I am not aware of any other methods. Anaconda basically creates a virtual environment in which you can specify the version of all packages including python itself

Install Anaconda 3 python 3.6 version in Windows 10

I learned that there are some issues in the latest Anaconda 3 python 3.7 version for object detection and face recognition deep learning problems from various posts. The official Anaconda site is only providing the latest python 3.7 version here. I want to work on a similar deep learning project in Windows 10(64 bit) which requires Anaconda 3 with python 3.6 version.
I found several posts providing solutions on StackOverflow for a Linux environment but I could not find any solution for the Windows 10 operating system. Can anyone share with me how to download the Anaconda 3 python 3.6 version?.
Any help will be highly appreciated.
Recommendation: Learn how to use conda by reading get started with conda. The problem you encounter is a very common case could be solved by conda, as an environment manager.
Solution 1
Use an environment with Python 3.6 installed, and activate this environment each time to work with your project.
# create an environment with python 3.6
conda create -n py36 python=3.6
# activate this environment
conda activate py36
This is also the preferred way to work with different projects. One environment for one project.
Solution 2
The default environment you're using with conda is base. You can override the Python 3.7 within base with Python 3.6
conda install -n base python=3.6

Changing Default Python env.(from 2.7 to 3.3) in Anaconda on Mac OS 10.8

I have the Anaconda distribution installed for Mac. I have Mac OSX 10.8 (Mountain lion). The problem I don't often use Anaconda is because the default Python which it uses is 2.7 while I work on 3.3 or atleast prefer to work on that.
I really like the Spyder IDE of Anaconda. Is there a way I can get the default environment on Anaconda changed to 3.3 instead of 2.7 so that Spyder and iPython all use 3.3 default?
I see the following help from Anaconda site:
$ conda create -n py3k python=3 anaconda
Here python=3 and anaconda are package specifications, and it is the job of the SAT solver inside conda to find a consistent set of packages which satisfies these requirements. As the root environment uses Python 2, we had to specify the major version explicitly.
After adding the binary directory of the newly created environment to the PATH environment variable, which may be done using
$ source activate py3k
My question is I have separately installed Python 3.3 and associated Scientific Python packages like Pandas, numpy, scipy, scikit-learn etc using Homebrew so that it doesn't conflict with my Mac OS default Python 2.7. So now if I run the above Conda commands in Mac Terminal will it interfere with other Python packages I have installed using Homebrew? or will it automatically install/upgrade the python and other packages in the Anaconda library without interfering with either the Homebrew installed Python or Mac OS default Python?
Please advise.
No, the Homebrew and Anaconda Pythons will stay completely independent of one another. Just make sure you don't have PYTHONPATH set, which causes this to not be true.
Also, you should know that Spyder is not available for Python 3 in Anaconda yet, because PySide has not yet been built for Python 3.
I had installed Anaconda with python 2.7, but even after adding python3:
conda create --name Py3 python=3
spyder continued to call python2.7
creating an environment with BOTH spyder and python=3 worked for me:
conda create --name SpyPy3 python=3 spyder

Resources