Question: My Python package has a `setup.py` which builds fine locally on Ubuntu Trusty and on a fresh Vagrant Ubuntu Trusty VM when I provision it like this:

```
sudo apt-get install python python-dev --force-yes --assume-yes --fix-broken
curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | sudo python2.7
sudo -H pip install setuptools wheel virtualenv --upgrade

```

But when I do the same on a Travis CI Trusty Beta VM:

```
- sudo apt-get install python python-dev --force-yes --assume-yes --fix-broken
- curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | sudo python2.7
- sudo -H pip install setuptools wheel virtualenv --upgrade

```

I get:

```
python2.7 setup.py bdist_wheel
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help
error: invalid command 'bdist_wheel'

```

This [Why can I not create a wheel in python?](https://stackoverflow.com/questions/26664102/why-can-i-not-create-a-wheel-in-python) is related but note I am installing wheel and upgrading setuptools.

Answer: 
On a AWS `Ubuntu 18.04 new machine`, below installations are required:

```
sudo apt-get install gcc libpq-dev -y
sudo apt-get install python-dev  python-pip -y
sudo apt-get install python3-dev python3-pip python3-venv python3-wheel -y
pip3 install wheel

```

Especially the last line is a must.  

However before 3 lines might be required as prerequisites.
Perhaps, your pip version is outdated. I experienced the same problem in WSL while installing modules in a newly created virtual environment. I was able to resolve it by running the following command:

```sh
$ ./bin/python3 -m pip install --upgrade pip 

```