Setelah mengembangkan utilitas konsol, Anda memutuskan untuk menerbitkannya di PyPI. Nah, sungguh, apa yang bisa lebih baik daripada membuatnya tersedia melalui instalasi pip ? Googling apa yang diperlukan untuk ini, Anda mungkin menemukan satu-satunya posting yang saya temukan pada sebuah topik yang, tidak hanya dari 2014, juga mengharuskan Anda untuk membuat banyak folder dan file untuk hal-hal (Anda) yang sama sekali tidak perlu.
Bagaimana mengatasi masalah ini tanpa terlalu banyak sakit kepala pada tahun 2019? Saya sudah mengajukan pertanyaan ini dan karena itu, setelah membaca banyak dokumentasi, saya membuat tutorial ini untuk Anda. Berikut ini adalah panduan langkah demi langkah.
1. Buat akun di PyPI ( tautan pendaftaran )
2. Buat titik masuk ke aplikasi (misalnya, file entry.py dengan konten berikut)
def main(): print("It's alive!")
3. Pasang puisi
curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python source $HOME/.poetry/env
(Anda dapat menginstal puisi secara berbeda, misalnya, instal puisi --user puisi - kira-kira terjemahan.)
4. Ciptakan lingkungan
cd myproject # , poetry init
5. Konfigurasikan perintah konsol (untuk melakukan ini, tambahkan baris berikut ke file pyproject.toml yang muncul )
[tool.poetry.scripts] APPLICATION-NAME = 'entry:main'
APLIKASI-NAMA harus diubah ke nama perintah konsol.
6. Publikasikan utilitas! (gunakan nama pengguna dan kata sandi dari langkah 1)
poetry publish --username PYPI_USERNAME --password PYPI_PASS --build
Selesai! Sekarang orang lain hanya perlu dua perintah untuk menginstal:
$ sudo pip install PROJECT-NAME $ APPLICATION-NAME
Di mana PROYEK-NAMA adalah nama yang Anda berikan proyek pada langkah 4, dan APLIKASI-NAMA adalah nama tim dari langkah 5.
Pembaruan versi
Setiap kali Anda ingin memperbarui modul, cukup ubah nomor versi di file pyproject.toml :
version = "0.1.0"
Dan ulangi langkah 6:
poetry publish --username PYPI_USERNAME --password PYPI_PASS --build
Bonus: sesuaikan Travis untuk penerbitan otomatis
Tambahkan baris berikut ke file .travis.yml
language: python dist: xenial before_install: - curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python - source $HOME/.poetry/env install: - poetry install script: - poetry build deploy: - provider: script skip_cleanup: true script: poetry publish --username $PYPI_USER --password $PYPI_PASS on: branch: master python: '3.7' tags: true
Dan atur variabel lingkungan PYPI_USER dan PYPI_PASS ke travis-ci.com . Setelah itu, Anda dapat menerbitkan paket menggunakan perintah:
git tag -a v1.2 # Replace version number with yours git push --tags