Recently I installed Neverware's version of Chromium OS, called Cloudready, on VirtualBox 6.1, to develop Python apps for Chromebooks. This version of Chromium OS is 48.0.2564.116 developer build (newer versions won't install due to graphics incompatibilities). As I do not have a Google Account, I login into Chromium OS as Guest user (somehow I have administrative powers as Guest, which is good for my developmental purposes).
I found that Python 2.7.3 was preinstalled. I tried to install Python 3.6, and to do so, I tried to find the preinstalled package manager, which I eventually found. The package manager that is preinstalled (portage), doesn't install anything, because it gives errors similar to this one:
chronos@localhost / $ sudo emerge dev-lang/python:3.6
!!! PORTAGE_BINHOST unset, but use is requested.
!!! Problem with sandbox library. Disabling...
Calculating dependencies... done!
WARNING: A requested package will not be merged because it is listed in
package.provided:
dev-lang/python:3.6 pulled in by 'args'
>>> Auto-cleaning packages...
>>> No outdated packages were found on your system.
chronos@localhost / $
I tried installing Python PIP for Python 2 from the get-pip.py
script provided here, and it worked. Because I want to create graphical interfaces for my programs for Chromebooks, I wanted to install the tkinter
module, and because I didn't want the users of my programs to have to use the Terminal to execute my Python programs and install Python modules, I wanted to install PyInstaller. I wanted to install PyInstaller through PIP, but PIP throws the following error for any attempted module installation:
/usr/local/lib64/python2.7/site-packages/pip/_vendor/urllib3/util/ssl_.py:387: SNIMissingWarning: An HTTPS requ
est has been made, but the SNI (Server Name Indication) extension to TLS is not available on this platform. Thi
s may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can up
grade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/l
atest/advanced-usage.html#ssl.warnings
SNIMissingWarning,
/usr/local/lib64/python2.7/site-packages/pip_vendor/urllib3/util/ssl_.py:142: InsecurePlatformWarning: A true
SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause cert
ain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information,
see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecurePlatformWarning,
When trying to install PyInstaller, PIP actually managed to collect the pyinstaller-4.0.tar.gz
package, but it fails upon installation because the PyInstaller installer raises an exception/error BackendUnavailable
, and then PIP raises the InsecurePlatformWarning
error again. As pointed out by @BryanOakley, I cannot install Tkinter from PIP, which I forgot while I was using Chromium OS (for example, the command to install Tkinter on Ubuntu is sudo apt-get install python3-tk
), which makes things even trickier.
From the errors raised, it appears that I have to install a newer version of Python (which I have already tried, to no avail). I tried to install Python 3 by installing Anaconda 3 and then Miniconda 3, but both provide the same error, and I have even looked through Stack Overflow and what people had voted as the answer still did not work for me. The following commands...
$ mkdir ~/Downloads/TMP
$ TMPDIR=~/Downloads/TMP sudo bash ~/Downloads/Miniconda3-latest-Linux-x86_64.sh -p /usr/local/miniconda3
...eventually result in this output:
/usr/local/miniconda3/conda.exe: error while loading shared libraries: libz.so.1: failed to segment from sh
ared object: Operation not permitted
/usr/local/miniconda3/conda.exe: error while loading shared libraries: libz.so.1: failed to segment from sh
ared object: Operation not permitted
Nothing has worked thus far. How can I successfully install Python 3.6 with Tkinter and PyInstaller on Chromium OS Version 48 without installing Linux containers/environments (such as the option to install the official Linux (Beta) or Crouton) or installing anything from the Google Play Store?