Build wheel distributions


was invalid command 'bdist_wheel' under WSL2

We can package synapseclient as a wheel rather than a source sdist. The package is pure python so there isn’t a tremendous speed advantage but it is more modern and would avoid issues like Marco encountered:

While testing some APIs I needed to use the python client for convenience. I created a dedicated virtual environment using venv and proceeded with a pip install synapseclient. The installation fails (but I can still use the client) with the following error message:

I'm not sure if it's me missing a dependency, I just installed python3 through apt-get. I attached a log with more details.


OS: Ubuntu 20.04.1 LTS, under WSL2 in Windows 10
Python Version: 3.8.5


Marco Marasca
April 3, 2021, 1:04 AM

Ok, sounds good.

Jordan Kiang
April 3, 2021, 12:53 AM

your second installation actually does show that the pip install used the synapseclient wheel and did not show the warning/error for synapseclient specifically(as it originally did), but rather two dependency packages (secretstorage and wrapt). wrapt does not yet have a wheel, and version of SecretStorage that we specify does not have a wheel (a newer version does exist which will be used when we complete (we have to be careful to not break people’s cached password credential store with a breaking change).

So I should have been a bit clearer when I said building a wheel for synapseclient as this issue does prevent the error/warning for synapseclient specifically, but not necessarily other dependency packages that also may need to be installed.

Marco Marasca
April 2, 2021, 11:59 PM

Thanks , I tried again with the new version. Before trying I made sure to remove the .cache/pip first. Unfortunately I got back the same error:

I then tried to do update pip as you suggested previously and that fixed it:


Jordan Kiang
April 2, 2021, 11:42 PM

test version available from was built with a wheel.

Installing in ubuntu 20.04 you shouldn’t get the original scary warning message that you got when it was installing the source distribution. The install command to install from is e.g.

pip3 install --upgrade --index-url --extra-index-url "synapseclient>="

Jordan Kiang
February 26, 2021, 4:12 AM

I’ve repurposed this issue to adjust our deployment to package a universal wheel rather than an source distribution.



Jordan Kiang


Marco Marasca




Marco Marasca

Development Area


Release Version History


Slack Channel


Fix versions

Affects versions