Matplotlib GUI different 2.7 and 3.5 - python-3.x

I recently 'downgraded' my python environment from 3.5.2 to 2.7.12 to match the cluster I'm using for work. I still have the same version of Matplotlib (2.2.2) but now when I show the graphs I no longer have the same GUI controls to zoom etc.
Is this standard or could it be due to me also moving from using anaconda to self-managed virtual environments at the same time?
I miss my zoom tool please help!

Related

How to Upgrade Azure Data Explorer Python Plugin Sandbox Anaconda and Python Version?

I'm using the Python Sandbox in Azure Data Explorer to do inference on my data tables.
However, in some of my python code I'll need to upgrade the python() sandbox. (e.g., my models are TensorFlow 2 models instead of TF 1 provided by Py 3.6 and Anaconda 5.2 inside the sandbox).
I was looking online but didn't find any good solution on how to upgradeĀ Azure Data Explorer Python Sandbox Anaconda and Python Version
I've tried to follow the documentation on Azure Data Explorer Python Sandbox Policy, but there's no mention on upgrading the Python and Anaconda version
Another information that I've found is the dependencies versions are shown in the Anaconda page
If anyone knows of a solution or any information to run this python sandbox upgrade that'd be really great
Or if it's not possible can anyone suggest me what other Azure solution I might use to do inference on my data tables?
Thanks and have a great day!
There is a new version based on Python 3.10.8 + latest packages. This version is still in preview, in few weeks it would be GA. Currently this upgrade is not yet self service, you should contact ADX support to perform the upgrade. You can also email me (adieldar#microsoft.com), specifying your cluster name, and I can take it from there.
thanks,
Adi

Where to install a Python package - system wide or in a virtual env?

I have Python 3.7 installed (system-wide) along with packages like Numpy, Pandas, pptx, xlsxwriter, and some more. Recently, I learned about virtual environments (yes I am very late to the party), and clearly see the benefits. But I am confused about a few things. Hopefully I can get answers here.
In most of my projects, I use common packages like Numpy, Pandas, Matplotlib, mysql.connector, etc. Should I install these system-wide? Or should I install them in each virtual environment that I create for each project, which, for example, amounts to installing Pandas 10 times in 10 different virtual environments?
If I install packages (system wide) that are not part of the Python Standard Library, for example, pptx and mysql.connector, AND I create a virtual environment, will I have access to these packages from within a virtual environment, or should I install them in the virtual environment as well?
What about a module like jupyter notebook, where it is not part of any project specifically, but I love using it for simple code development and testing (simple plots, etc.). Should this be installed system wide?
I am considering un-installing Python 3.7 and all the packages from my computer, and doing a fresh install of Python 3.8. I want to approach this the "right" way. I would think packages like Numpy and Pandas (I do quite a bit of data manipulation/plotting) should be installed system wide, and each virtual environment should have access to it automatically, and a more specialized package (for me at least) like pptx should be installed in a particular virtual environment for a particular project. Is my assumption correct about this?
Please advise on how to best approach package installation in the context of having virtual environments.
EDIT: based on Ni's reply, I would ask one more question: Are there modules (for example, python-dateutil, that might be used in many projects) and/or circumstances where it makes sense to install a module system-wide?
In general, I never install packages system wide.
You might install packages which require specific versions of Numpy, in your environments. In those cases, if you update the system wide version of Numpy, the package in the environment might break and you won't know that happened.
Yes, you can access them from virtual environment. But in general, don't install packages system wide
Again, I wouldn't install that system wide. For e.g., you might have environments running different python versions, which might not be compatible with the same version of Jupyter
Seems like you're doing a lot of data science work - you might want to use Anaconda to help you manage your virtual environments and package installations

How to install Python 3.8.1 on RHEL 8?

This is really frustrating.
I want to install the latest version of Python (at the time of this issue: Python 3.8.1) on RHEL 8, (RHEL being one of the most widely used distributions of Linux).
I would like to type:
#dnf install python
and have it install the latest version of Python.
I can't do this, and I do not know why.
When I go to python.org and click on 'install for Linux' I get a link to the source code.
There are no instructions there as to what to do with the source code.
I do not understand why this is.
I don't want the source code, I want to install python 3.8.1 executables for my platform (RHEL 8).
I search on how to install python 3.8.1 from source and get a long list of dependencies that I have to install and a long list of steps.
Is this because it is a very rare thing for companies to run Python on Linux?
Can we get together here and make it easy for folks to install Python on Linux?
I'm willing to pay money out of my daily earnings to setup a RHEL 8 repo to get Python 3.8 there if IBM/Redhat is not willing to do this.
Why does the official Python organization hate Linux?
Why does IBM / Redhat hate Python?
Can we bring the two together in peace and harmony so that they just get along?
This is very frustrating, I should be able to knock this task out in a few seconds, and it has turned into hours.
The same amount of hours to figure out how to do this is probably done every day by developers all over the world that want to install/run the latest version of Python on Linux (CentOS / RHEL).
Python 3.8 Application Stream is currently available with RHEL 8.2 beta. Since we support every new version of Python (3 years) that we release, we need to make sure that it's stable before bringing it to RHEL and the many hardware architectures it runs on. This is also important as customers expect technologies to be production grade. This table shows that over the years, we have officially supported more than one Python version simultaneously. You can download RHEL 8.2 beta from here. RHEL 8 was released with 2 versions of Python (2.7 and 3.6) because it's an important technology for us. We've used it ourselves for many years in building RHEL components and, among others in this industry, we had to rebuild it to 3.x (from 2.7).
FYI - new versions of Python and other components are released as Software Collections on RHEL 7, and as Application Streams on RHEL 8. The benefit of these is that the version of Python that's installed will have exactly the same packages and components for each system it's install it on. This simplifies things a lot (as you point out, it's complicated) and minimizes the "it works on my machine" issue.

Is there a way to use Kivy with OpenGL 1.1?

I recently ported an installer from an unmaintainable and complicated batch script to python and thought it would be a nice idea to have a neat graphical front end for the console installer. I decided to use Kivy because I used it for some pet projects at home and I and UI designing went nice and fast.
However, what I did not know until recently, is that Kivy seems only to work with OpenGL 2.0. Unfortunately our company's software is frequently installed on virtual machines and their virtualized graphics adapters often don't support OpenGL that is newer than 1.0 or 1.1 (VirtualBox for example). This prevents the Kivy app from starting or if it does start, doesn't render correctly.
I searched the internet for a way to get Kivy to work without OpenGL 2.0. Some posts on github and I think on reddit suggested to use Angle instead of sdl2 or switching to glew. I tried the suggested solutions but with no success.
I wonder, is there actually a way to get Kivy apps to work without OpenGL 2.0, like OpenGL 1.1 ?
I use Python 3.6.4 and Kivy 1.10.1 on Windows as a dev and target system.
Kivy targets OpenGL ES 2.0 as a minimum version. Note that OpenGL ES is not the same as OpenGL, it's closer to OpenGL 3.0.
This is a minimum required version, anything newer should work fine.
You can use angle on Windows if you want. I think we do it because it's more stable than relying on Windows OpenGL drivers, but I'm not sure.

Installation of python 3.4

I have installed Python 3.4 on my windows 7 64bit system and it runs OK with eclipse. But I am trying to install kivy or pyQT and I get a message that Python 3.4 is not installed on my system. I am totally new to python and all its modules. What can I do to correct this problem? I need a GUI but I think that first I need to make sure that Python is properly install. I hope this questionis not too basic and that I am asking on the right place.
I can't help with PyQT, and possibly this should have been two separate questions. But for Kivy the easiest way to get started is to download the portable package, which includes Python, Kivy, and all the dependencies compiled and ready to go. You can read the instructions for using the portable package here: http://kivy.org/docs/installation/installation-windows.html
If you really want to install Kivy yourself into an existing Python install, you can follow these instructions instead: https://github.com/kivy/kivy/wiki/Using-Kivy-with-an-existing-Python-installation-on-Windows-%2864-or-32-bit%29
Finally, to set up your IDE for use with the Kivy portable package (if necessary): https://github.com/kivy/kivy/wiki/Setting-Up-Kivy-with-various-popular-IDE%27s
Oh, one last caveat: we are working on Python 3 support, and Kivy will run perfectly in Python 3, but packaging is another matter. There are working packaging solutions for Windows apps using Python 3, but if you intend to deploy your app to Android or iOS you currently must use Python 2.

Resources