AppVeyor 및 파이썬 포매팅

안녕하세요 ! 저는 Xavier Jouvenot이고 이 작은 게시물에서 파이썬 코드가 AppVeyor로 잘 포맷되었는지 자동으로 확인하는 방법을 설명할 것입니다.

자기 홍보: 저를 팔로우하고 프로그래머이자 작가로서의 제 작업을 확인할 수 있는 몇 가지 소셜 네트워크가 있습니다 😉

personal website , , , CodeNewbie , Medium , GitHub

문제적



오늘은 버전 관리 중인 Python 코드의 형식이 올바른지 자동으로 확인하는 방법, 특히 AppVeyor를 사용하여 확인하는 방법에 초점을 맞출 것입니다. 이 프로세스를 자동화하면 모든 사람이 기여하고 싶을 때마다 참여하고 코드 형식을 지정해야 하므로 팀의 효율성이 향상되고 코드의 일관성이 향상됩니다.

코드의 형식을 지정해야 하는지 확신이 서지 않는 경우 제가 작성한 이전 기사Formatting and Automation를 참조하시기 바랍니다. 예를 들어 Spaces VS Tabs 에 대해 논쟁하는 데 시간을 소비할 필요가 없기 때문에 코드를 더 읽기 쉽게 만들고 팀의 생산성을 높일 수 있습니다.

해결책



전체 기사를 읽고 싶지 않은 사람들을 위한 짧은 대답은(당신이 그렇게 한다는 것을 압니다! 나도 합니다 😆) AppVeyor 프로세스에 다음 단계를 삽입하는 것입니다.

install:
  - pip3 install black

build_script:
  - black --check .


"Formatting Python – Why and How !"에 대한 이전 기사가 있는 경우 black이라는 도구에 대해 이미 알고 있을 수 있습니다. 모르는 사람들을 위해 이것은 작성자가 다음과 같이 설명하는 코드 포맷터입니다.

Black is the uncompromising Python code formatter. By using it, you agree to cede control over minutiae of hand-formatting. In return, Black gives you speed, determinism, and freedom from pycodestyle nagging about formatting. You will save time and mental energy for more important matters.



위의 단계에서 python package manager pip 과 함께 이 도구를 설치하는 것으로 시작합니다. 그런 다음 폴더의 루트에서 black를 실행합니다. 즉, 리포지토리에서 모든 Python 파일을 찾고 --check 플래그를 사용하고 있으므로 형식이 올바른지 확인합니다. 하나의 Python 파일이 올바르게 형식화되지 않으면 black 명령이 오류를 반환하고 AppVeyor의 해당 단계가 실패합니다.

원하는 경우 도구가 모든 리포지토리를 재귀적으로 검색하도록 하는 대신 Python 파일 목록을 직접 지정할 수 있습니다. 😉

마지막으로 이러한 단계가 AppVeyor에서 사용 가능한 대부분의 환경에서만 작동하도록 지정하는 것이 중요합니다. 실제로 black은 일부 AppVeyor 환경에서 기본 버전이 아닌 버전Python 3.6 and above에서만 작동합니다. Windows 및 Ubuntu 환경에서는 Python 코드에서 블랙을 실행하기 전에 먼저 환경에서 사용하는 기본 Python 버전을 업데이트해야 합니다. 이 문서에서 작업할 때 어떻게 작업했는지 확인하려면 이 문서script를 살펴보십시오. 😊

실제로 사용 가능한 모든 환경에서 이전에 설명한 단계를 실행하도록 AppVeyor를 설정하는 GitHub 저장소를 만들었습니다. AppVeyor에서 새로운 환경을 사용할 수 있게 되면 업데이트할 예정이므로 살펴보실 수 있습니다here 😉


이 글을 읽어주신 모든 분들께 감사드리며 다음 글까지 화사한 하루 보내세요😉

흥미로운 링크



  • GitHub repository with the actual working code up to dateAzure Pipelines jobs runned
  • AppVeyor Windows , LinuxMacOs 환경

  • black GitHub repository , documentationpython package
  • Python website
  • pip website

  • 10xlearner website , , , CodeNewbie , Medium , GitHub
  • 좋은 웹페이지 즐겨찾기