Building Your Python Package
When publishing a Python package it’s very likely that you publish a wheel instead of the actual source code. In this lesson you’ll learn how to make a wheel of your project.
Note: If you want to learn more about wheels, have a look at What Are Python Wheels and Why Should You Care? - it’s a good starting point!
00:00 When you send your project to PyPI, you don’t actually send source code. Your project is wrapped up in a distribution package, and the most common formats to do this in are source archives and Python wheels.
00:13
A source archive contains your source code and any supporting files in a tar
file, while a wheel is a ZIP that contains your code. The wheel also includes any extensions ready for use. To create your source archive and a wheel, go ahead, open up your terminal, go to your top level project directory, and run this command: python setup.py
and then add the arguments sdist
and bdist_wheel
.
00:48
Run that, you’ll see a bunch of stuff happen, and you should end up with some new folders in here. You’ve got a build/
, a dist/
, and a egg
folder.
01:00
And if you go into dist/
, or distribution, you should see two files in here.
01:06
You’ve got your wheel and your tar
. Now if you look in setup.py
, you won’t see anything in here about accepting command line arguments, and that’s because these are implemented already in the upstream distutils
library. If you want to take a look at what some of the other options are, you can run --help-commands
on setup.py
and you’ll see plenty of different commands and arguments that you can add. Now it’s time to pat yourself on the back because you’ve built your entire package.
01:35 In the next video, you’re going to explore the files that you just created and perform a test upload to the PyPI test server to make sure that everything is good to go.
lelethu1710 on July 22, 2020
When running
python setup.py sdist bdist_wheel
I got an error
error: invalid command ‘bdist_wheel’
Installing the wheel package (pip install wheel) solved the problem.
JBrooks on June 2, 2022
Same error and solution as others. PIP install wheel and run the command: python setup.py sdist bdist_wheel
Become a Member to join the conversation.
hettlage on April 10, 2020
When running
python setup.py sdist bdist_wheel
I got an error
error: invalid command 'bdist_wheel'
Installing the wheel package (
pip install wheel
) solved the problem.