PyPI에서 Conda 패키지 출시

Conda 배포에 PyPI 패키지를 추가하려면( conda-forge ) 다음 방법을 따라야 합니다.

1. staged-recipes 리포지토리 포크



2. 구성 파일 생성



GitHub에서 포크를 만든 후 첫 번째 단계는 포크를 복제하는 것입니다.

git clone https://github.com/iamtekson/staged-recipes.git


Please replace the git clone URL.



이제 LICENSE 폴더 안에 meta.yamlrecipes/yourPackageName 파일을 추가합니다.

아래는 MIT 라이선스 파일의 예시이며,

MIT License

Copyright (c) 2020, Tek Kshetri

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


내부meta.yaml 파일에 패키지 구성을 작성해야 합니다. 가장 쉬운 방법은 example > meta.yaml 파일에서 파일을 복사하여 편집하는 것입니다. 다음은 geoserver-rest 패키지의 예입니다.

{% set name = 'geoserver-rest' %}
{% set version = '0.1.0' %}
package:
  name: {{ name|lower }}
  version: {{ version }}

source:
  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
  sha256: 625327b23ee2ee77e839272b04d0b6e81b7dc98e0713e4e23d003a1bf2461551

build:
  noarch: python
  number: 0
  script: "{{ PYTHON }} -m pip install . -vv"

requirements:
  host:
    - python >=3.6
    - pip

  run:
    - python >=3.6
    - pip
    - gdal
    - seaborn
    - pycurl
    - psycopg2

test:
  imports:
    - geo
  commands:
    - pip check
  requires:
    - pip

about:
  home: https://github.com/gicait/geoserver-rest
  license: MIT
  license_file: LICENSE
  summary: "The package for management of geospatial data in GeoServer."
  description: |
    The geoserver-rest package is useful for the management for geospatial data in GeoServer. The package is useful for the creating, updating and deleting geoserver workspaces, stores, layers, and style files.
  dev_url: https://github.com/gicait/geoserver-rest

extra:
  recipe-maintainers:
    - iamtekson


3. 풀 리퀘스트 제출



이것이 마지막 단계입니다. 이제 새 브랜치를 만들고 포크에 코드를 푸시하고 풀 요청을 제출해야 합니다. 아래는 신규 브랜치 생성 및 푸시 코드 작성을 위한 코드이며,

git branch myPackageName
git checkout myPackageName

git add .
git commit -m "added myPackageName to conda-forge"
git push --set-upstream origin myPackageName


이제 GitHub 계정을 확인하고 풀 요청을 제출하십시오. 풀 요청을 제출한 후 일부 테스트 기능(GitHub 작업)이 자동으로 실행되고 오류가 있으면 알려줍니다.

풀 요청이 병합되면 conda 배포를 사용하여 패키지를 설치할 수도 있음을 의미합니다. 아래와 같이 conda 설치를 사용하여 패키지 사용 가능 여부를 확인할 수 있습니다.

conda install -c conda-forge myPackageName


Check this pull request for your reference: https://github.com/conda-forge/staged-recipes/pull/14143



축하합니다! 마침내 패키지를 conda 배포판에 게시할 수 있었습니다. 이 블로그가 마음에 드시면 제 YouTube 채널을 구독하여 지원해 주세요.

좋은 웹페이지 즐겨찾기