Join us and get access to hundreds of tutorials and a community of expert Pythonistas.

Unlock This Lesson

This lesson is for members only. Join us and get access to hundreds of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Hint: You can adjust the default video playback speed in your account settings.
Hint: You can set the default subtitles language in your account settings.
Sorry! Looks like there’s an issue with video playback 🙁 This might be due to a temporary outage or because of a configuration issue with your browser. Please see our video player troubleshooting guide to resolve the issue.

Building Your Python Package

Give Feedback

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.

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.

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.

Become a Member to join the conversation.