This is part of the Semicolon&Sons Code Diary - consisting of lessons learned on the job. You're in the python category.
Last Updated: 2025-10-22
pip will use wheels (.whl) to install wherever possiblepsycopg2 working well.zip file with a specially crafted filename that tells insteallers what python version and platforms are supported. The format is {dist}-{version}(-{build})?-{python}-{abi}-{platform}.whl - e.g. cryptography-2.9.2-cp35-abi3-macosx_10_9_x86_64.whl (cp35 is CPython 3.5).{python}-{abi}-{platform} with py3-none-any.whl. This can be generated with python setup.py bdist_wheel --universal. It will probably end up in the dist folder.pip install --only-binary. And if you want it to NOT use the wheel, use pip install --no-binarypip retrieves a "source distribution" or sdist, which is basically the opposite of a wheel. It can contain code of any language (e.g. JS, C++ etc.) and compilation happens on the installer's side<package-name>.egg-info. This metadata helps with building and installing the package, but user’s don’t really need to do anything with itpip is doing during the install of a package by looking for whether it downloads a .whl file or whether it builds one during a pip install xpip install -U twine to get the tool you need (twine) and then do twine upload dist/* (you'll need an account)./local_wheels/ABC-0.0.2-py3-none-any.whl$ python setup.py bdist_wheel$ python setup.py sdist