처음 pypi 패키지를 만드는 과정을 기록합니다

3993 단어

준비 작업


1. 프로젝트 폴더 만들기

mkdir dada_openapi_python
cd dada_openapi_python

2. 패키지 폴더 만들기


안에 dada_openapi_client 폴더를 만들고 있습니다. 이 폴더의 이름은 일부러 상위 디렉터리와 다르게 만들었습니다. 오해를 피하기 위해서 이 폴더는 사실 패키지 이름입니다.
mkdir dada_openapi_client
cd dada_openapi_client

3. 패키지 코드 작성


각자의 업무 장면에 근거하여 나는 다음에 내가 쓴 다다를 열거한다client

PyPI 패키지 만들기


이제 프로젝트 논리가 완성되었으니 PyPI 패키지를 만들어 보도록 하겠습니다.

1. setup을 생성합니다.py 파일

dada_openapi_python 폴더에 프로필setup.py을 만들고 프로필을 작성하고 제 프로필을 붙여주세요.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2020/1/6 15:41
# @Author  : Weiqiang.long
# @Site    : 
# @File    : setup.py
# @Software: PyCharm
# @Description:

import setuptools

with open("README.md", "r", encoding="utf-8") as fh:
    long_description = fh.read()

setuptools.setup(
    name = "dada_openapi_client",
    version = "1.0.3",
    author = "Weiqiang.long",
    description = "        ",
    long_description = long_description,
    long_description_content_type="text/markdown",
    url = "https://github.com/longweiqiang/dada_openapi_python",
    packages = setuptools.find_packages(),
    classifiers=[
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ]

)

위 구성의 각 필드의 구체적인 의미는 홈페이지 문서의 2.8가지 설명을 참조할 수 있다

포장하다


다다에서openapi_python 폴더에서 이 명령을 실행합니다

python setup.py sdist bdist_wheel

업로드

python -m twine upload dist/*
  • 업로드 성공:
  • Uploading distributions to https://upload.pypi.org/legacy/
    Uploading dada_openapi_client-1.0.3-py3-none-any.whl
    100%|████████████████████████████████████████████████████
    ███████████████| 7.88k/7.88k [00:00<00:00, 10.6kB/s]
    Uploading dada_openapi_client-1.0.3.tar.gz
    100%|████████████████████████████████████████████████████
    ███████████████| 6.23k/6.23k [00:01<00:00, 4.43kB/s]

    이 가능하다, ~할 수 있다,...


    Upload failed (403): Invalid or non-existent authentication information.


    잘못된 사용자 인증 정보입니다. 사용자 인증 파일을 만들어야 합니다. ~/.pypirc사용자 인증 파일 만들기 ~/.pypirc
    사용자 디렉터리에 새 공백 파일의 이름을 입력하십시오.pypirc, 내용은 다음과 같습니다.
    [distutils]index-servers=pypi
    
    [pypi]repository = https://upload.pypi.org/legacy/
    username = XXX
    password = XXX

    Upload failed (403): You are not allowed to edit 'xxx' package information


    가방을 먼저 등록해야 업로드를 시작할 수 있어요.

    Server response (401): Incomplete registration; check your email


    PyPI 계정이 메일박스 검증을 완료하지 않았습니다. 메일박스에 등록해서 검증 메일을 찾은 다음 실패한 절차를 다시 시도해야 합니다.

    Server response (400): Invalid classifier "Topic :: Software Development :: Utilities"


    너의 setup.py 파일의classifier 정보가 잘못되었으니 홈페이지의 정확한 분류에 따라classifier를 작성하십시오.

    error: No dist file created in earlier command


    너 포장도 안 하고 명령 올리기 시작했어.

    Upload failed (400): File already exists


    파일이 이미 존재합니다. 지난번에 버전 번호를 업데이트해야 합니다.

    참조 문서:


    https://packaging.python.org/tutorials/packaging-projects/https://segmentfault.com/a/1190000008663126 http://xiaoh.me/2015/12/11/python-egg/

    좋은 웹페이지 즐겨찾기