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
Ok, sounds good.
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.
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:
test version 184.108.40.2063 available from test.pypi.org 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 test.pypi.org is e.g.
pip3 install --upgrade --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple "synapseclient>=220.127.116.113"
I’ve repurposed this issue to adjust our deployment to package a universal wheel rather than an source distribution.