Skip to main content

Build my first PyPI package

Project description

pypi

Build My first PyPI package PyPI : the Python Package Index

tags: Python PyPI

Steps-by-Steps

  1. 準備好要上傳 PyPI 的套件

    :memo:

    1. 資料夾結構 steps_0.png
  2. 進入該層目錄 : cd C:\Users\chichun.chen\Desktop\git\pypi

  3. 打包檢查 : python setup.py check

  4. 打包 : python setup.py sdist

    :memo:

    1. sdist : 較常用,支持 pip 安裝

    2. bdist_egg : 支持 easy_install 安装

    3. 打包好的檔案會在 /dist 底下 steps_1.png

    4. 使用 pip install pypinonevirgin-0.0.1.tar.gz 測試打包完的檔案是否能正確執行

  5. 安裝 twine 作為後續上傳 PyPI 用 : pip install twine

  6. 註冊 PyPI

  7. 上傳 : twine upload dist/*

    :memo:

    1. 需註冊 PyPI 帳號密碼 steps_2.png

FAQ

  • Register Fail:

    • Command : python setup.py register
    • ErrorMsg : Server response (410): Project pre-registration is no longer required or supported, upload your files instead.
    • Explain : PyPI 因為 HTTP 安全性認證的問題,不再支援 register、upload 等指令
    • Solution : 改用 twine upload (官方建議)
  • Upload Fail :

    • Command : twine upload dist/*
    • ErrorMsg : HTTPError: 400 Bad Request: This filename has already been used, use a different version.
    • Explain : PyPI 上已經存在相同名稱的套件/版號
    • Solution : 更改套件名稱 or 調整版號
  • console_scripts :

    :memo:

    1. Build python scripts automatically steps_3.png

Windows 打印資料夾結構的小工具

tree <yourPath> /f | Select-Object -Skip 2 | ForEach-Object {
	if ($_.Contains(':\')) {
		Write-Host $_ -ForegroundColor Cyan
	}
	elseif ($_.Contains('─')) {
		Write-Host "$($_.Replace('─', '─<'))>" -ForegroundColor Yellow
	}
	else{
		Write-Host $_ -ForegroundColor White
	}
}

Reference

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypinonevirgin-0.0.2.tar.gz (3.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page