Wagner Macedo
25 de maio de 2019
pip
$ pip install requests
pip
install
pip
requests
Organiza o código
Um pacote pode ser uma pasta com módulos Python.
❤ Software instalável
Ou pode ser um conjunto de código Python para ser distribuído e instalado.
Python Package Index (PyPI)
setup.py
O pacote Python usado aqui é um Bot do Telegram que envia gifs aleatórios.
giphy-random-bot/
|
├── giphybot/
│ ├── bot.py
│ ├── giphy.py
│ └── __main__.py
|
├── README.md
└── setup.py
$ pip freeze
Há alternativas melhores para gerenciar as dependências de um projeto.
Eu uso e recomendo pipenv
😄
# setup.py
from setuptools import setup
setup(
name="giphybot",
version="0.0.1",
author="Wagner Macedo",
url="https://github.com/wagnerluis1982/giphybot.py",
description="Giphy Bot",
license="GPLv3",
entry_points={
'console_scripts': [
'giphybot = giphybot.__main__:main',
],
},
packages=['giphybot'],
install_requires=(
'python-telegram-bot==11.1.0',
'requests==2.22.0',
),
classifiers=[
"Programming Language :: Python :: 3.6",
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: Developers",
"Intended Audience :: End Users/Desktop",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Natural Language :: English",
"Topic :: Communications :: Chat",
],
)
Passo 1: instalar o twine
$ pip install twine
Passo 2: empacotar o seu projeto
$ python setup.py sdist bdist_wheel
Passo 3: checar os pacotes (opcional)
$ twine check dist/*
Passo 4: upload para o Test PyPI (opcional)
$ twine upload --repository-url https://test.pypi.org/legacy/ dist/*
Passo 5: upload para o PyPI 🎉
$ twine upload dist/*