- Details
- Written by: Jason Ross
If you're running Ubuntu 16.04 or later, the first time you try to create a virtual environment with Python 3.6, Python 3.7, Python 3.8 or Python 3.9, you'll get the following error:
python3 -m venv ./venv The virtual environment was not created successfully because ensurepip is not available. On Debian/Ubuntu systems, you need to install the python3-venv package using the following command. apt-get install python3-venv You may need to use sudo with that command. After installing the python3-venv package, recreate your virtual environment. Failing command: ['/home/mystuff/Development/venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
Read more: Cannot Create a Python Virtual Environment On Ubuntu - ensurepip is not available
- Details
- Written by: Jason Ross
In my last article on AWS Lambdas - Creating An AWS Lambda With Dependencies Using Python - I described how to create an AWS Lambda using Python, where the Python code has dependencies on other packages such as requests, and you're seeing errors like:
Unable to import module 'lambda_function': No module named 'requests'
That method works well for many packages, but there are limits.
- Details
- Written by: Jason Ross
I’ve worked for large companies from both the UK and the USA, and they all loved making their staff watch training videos about “standards”. The UK companies’ videos were mostly about financial regulations, health and safety, and things like that. The American companies though, took a slightly more “intense” attitude. Their videos were about the danger of talking to people who may be on the list of people banned from trading with the company, the perils of bribing foreign officials, and people who never took their vacation. This might strike you as odd; after all the rest of the world doesn’t usually think of US companies forcing staff to take all of their vacation allowance, but in this case they were making a point of it.
- Details
- Written by: Jason Ross
It’s easy enough to choose an item at random from a collection, if they all have the same probability of being chosen. When each of them has its own probability though, things get a little more complicated.
Read more: Choosing An Item At Random Depending Upon Its Odds
- Details
- Written by: Jason Ross
Banks, financial institutions, governments and public companies all want to see the future. Not in a crystal ball and tarot cards kind of way, but in a way that allows them to forecast economic events, share prices, voting patterns, disease spread and so on. They ways they do this vary, and usually involve a lot of expensive hardware and even more expensive people, but many of the underlying methods used are reasonably understandable. They can get a little involved though, so this is the first in a series of articles about them.
I’ll start with the basics, and then get into the more interesting stuff...
Read more: Simulating The Future – Part 1: A Brief Introduction to Markov Chains
- Details
- Written by: Jason Ross
The first two prime numbers articles I wrote (Prime Numbers Part 1 - Introduction and Prime Numbers Part 2 - Generating Primes) were written in a different country, on a different PC (with a CRT monitor!) in an old version of C#, and were uploaded to my website onto a different CMS (The publishing dates on the articles are actually wrong by several years!). It was a long time ago, and many things have changed; it’s probably about time I took another look at the subject.
Read more: Prime Numbers Part 3 – Revisited. Optimized Primes!
- Details
- Written by: Jason Ross
Google will give you this advice when you rely on a web font; by default when a web font is downloading, the browser will display nothing. Once the font has downloaded, the text will appear, but until then any text using that font is invisible. A better behaviour is to display the text immediately using a system font, download the web font, and then reformat the text using the downloaded web font. This allows the viewer to start reading the text immediately, and will minimize the amount of reformatting that the browser has to do. So how do you actually do this?
- Updating An Old Web Site To HTML5 – Part 4: Google Analytics "Opportunity": Defer offscreen images
- Creating An AWS Lambda With Dependencies Using Python
- Python requests-oauthlib OAuth fetch_token request returns “invalid_client”: “Unauthorized”
- Spam Enquiry Emails Sent From My Joomla Site: “This is an enquiry email via ...”