개발 및 문서 파일 정리

개발 및 문서 파일 정리

지금까지 나는 디렉토리의 내 사용자 이름으로 Python 버전을 설치하는 데 익숙했습니다 pyenv. 나는 Debian 패키지를 사용하여 내 프로젝트 디렉토리를 프로젝트 디렉토리에 각 프로젝트를 저장하는 데 사용하는 사용자 정의 Python 환경과 결합하고 있습니다.pydev/home/pydevdirenvpyenvpip-tools

편집 - 이 링크는 개발 환경 격리의 기본 사항을 제공합니다.

https://pwal.ch/posts/2019-11-10-sane-python-environment-2020-part-1-isolation/

편집 - 위에 링크된 작성자는 여기에서 자신의 독립형 Python 환경 도구를 개발했습니다(각 프로젝트에 Python 버전을 설치하고 싶지 않았기 때문에 Pyenv 및 pip-tools를 사용하여 Python 버전을 env 라이브러리와 연결했습니다).

https://github.com/pwalch/lonesnake

저는 개발, 잠재적 특허 공개 및 Linux Debian 서버에서의 프로덕션을 위한 Python 애플리케이션을 작성하고 있습니다. FHS( 파일 시스템 /srv계층 표준) 사양 /opt.

https://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/Linux-Filesystem-Hierarchy.html#opt

/opt/pythonapp01/code0000

/srv/pythonapp01/eod-data

현재 개발 중인 애플리케이션은 csv 형식의 하루 종료 데이터를 사용합니다. 이 데이터는 개발 중에는 업데이트되지 않지만 프로덕션에서는 매일 밤 업데이트됩니다. Python 코드는 파일로 저장하기 위해 csv를 다른 csv 형식으로 변환하고 이러한 수정된 csv 파일을 파일 형식으로 변환하여 Highcharts 주식 차트를 제공합니다.

내 질문은 Linux 파일 시스템 계층 구조에서 디렉터리를 구성하는 방법입니다. 개발용 파일을 저장하고, 가능한 특허 공개를 지원하고, 생성된 Python 애플리케이션을 Linux Debian 서버에서 프로덕션에 적용하는 방법은 무엇입니까? 개발 및 문서 파일은 사용자 폴더에 있어야 합니까? eod 데이터가 들어가고 /srv/pythonapp01코드가 들어가야 할까요 /opt/pythonapp01/code0000? 설치 환경 pyenv도 프로덕션 환경의 애플리케이션 디렉터리 pip-tools로 이동 해야 합니까? /opt애플리케이션이 프로덕션 환경에서 시스템 Python을 사용하지 않아야 한다는 내용을 읽었으며 프로덕션 환경에서 Python 애플리케이션을 설정한 적이 없으므로 개발 단계 초기에 지침을 얻는 데 도움이 될 것입니다.

답변1

다음은 몇 가지 질문이며, 이를 세 가지로 요약했습니다.

  1. Python 소스 코드와 개발 문서를 어떻게 구성하나요?

  2. Python 애플리케이션을 패키지하고 Linux에 배포하는 방법은 무엇입니까?

  3. 매일 생성되는 데이터는 어디에 저장하나요?

개발 및 문서 파일 정리

안전한 공유 원격 저장소를 위해 GitLab, GitHub 또는 유사한 Git 호스팅 서비스와 함께 git과 같은 최신 버전 제어 도구인 소스/버전 제어 시스템을 사용하세요.

따라서 프로젝트나 애플리케이션의 이름을 딴 특별한 디렉터리인 저장소가 있게 됩니다.

저장소의 문서 및 소스 코드 배열은 빌드 중인 항목에 따라 달라집니다. 나는 문서 .md나 파일을 디렉토리 .rst에 저장하는 것을 좋아합니다. 일반적으로 프로젝트/저장소를 설명하는 것이 docs있습니다 .README.md

Kenneth Reitz는 다음과 같이 Python 모듈의 예제 구조를 만들었습니다. https://github.com/navdeep-G/samplemod. 초보자에게는 완전히 최소한의 내용은 아니기 때문에 이해하지 못하는 부분은 건너뛸 수 있지만 좋은 출발점이 됩니다. https://docs.python-guide.org/writing/struct/구조를 설명합니다.

or 를 pyenv사용하고 있기 때문에 아래에 설명하는 배포 방법이 이것이 작동하는지 100% 확신할 수는 없지만 배포에 실제로 필요한 것은 새로운 Python 환경에 설치해야 하는 패키지 목록뿐입니다. 설치된 패키지를 모두 입력하면 잠시 동안 작업 환경을 만들 수 있습니다. a로 리디렉션 하고 저장합니다.venvvirtualenv,requirements.txtrequirements.txtpip freezerequirements.txt

Python 애플리케이션을 패키징하고 배포하는 방법은 무엇입니까?

잘 작동하며 Linux 및 Unix(Mac) 기반 시스템에서 "단일 파일" 배포에 pex매우 간단합니다 .https://pypi.org/project/pex/. 짧고 명확한 튜토리얼이 있습니다:https://medium.com/ovni/pex-python-executables-c0ea39cee7f1.

pex,시작할 수 있는 곳 외에도 다양한 옵션이 있습니다.https://packaging.python.org/en/latest/조사하고 싶다면.

"pyenv 및 pip-tools 설치 환경도 프로덕션의 /opt 아래 애플리케이션 디렉터리로 이동해야 합니까?"라는 질문에 구체적으로 대답하려면 pex 파일이 별개이므로 설치할 필요가 없습니다.

일일 데이터는 어디에 저장하나요?

"eod 데이터를 넣어서 /srv/pythonapp01코드에 넣어야 하나 /opt/pythonapp01/code0000?" 라고 물으셨는데요.

/opt/bin/pythonapp01.pex데이터 위치 는 좋아 보이지만 애플리케이션 은 /opt/bin. 예를 들어, Mac OS에서 설치하는 홈브류 패키지는 널리 사용되는 또 다른 설치 위치입니다./opt/binPATH/opt/homebrew/bin. /usr/local/bin

1부터 365까지의 연도별 또는 날짜별(계층적 카탈로그 사용) 등 여러 가지 구성표를 사용하여 마감 데이터를 저장할 수 있습니다. 예를 들어 일일 온도 측정값을 저장 /mnt/data/2023/02/06/하고 매일 새로운 일일 디렉토리, 매달 새로운 월간 디렉토리, 매년 새로운 연간 디렉토리를 만듭니다.

백업을 유지하세요!

이것이 도움이 되기를 바랍니다!

관련 정보