This is part of the Semicolon&Sons Code Diary - consisting of lessons learned on the job. You're in the python category.
Last Updated: 2024-12-03
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-binary
pip
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 x
pip 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