python - setup.py 与 requirements.txt 区别
迷茫
迷茫 2017-04-18 09:33:40
0
3
662

在阅读Kenneth Retiz写的ptyhon最佳实践文章中关于如何构建一个好的目录结构的时候,发现有这样一个问题,可以同时存在setup.py文件以及requirements.txt文件,想请问一下这两者之间有什么区别与联系。
例如有下面这样的一个flask应用目录结构,setup.py与requirements.txt两个文件同时存在是否有必要?

├── app
├── docs
├── test
├── config.py
├── manage.py
├── requirements.txt
├── setup.py
├── Makefile
├── README.md
└── LICENSE
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답(3)
伊谢尔伦

이 질문이 실제로 필요한지 여부는 프로젝트의 성격에 따라 다릅니다. 일반적으로 둘 다 존재하며 둘 다 갖는 것이 가장 좋습니다.

setup.py 이 파일은 모듈을 관리하는 데 사용됩니다. 프로젝트를 모듈로 패키징하여 pypi에 업로드할 수도 있습니다. Python 시스템 로딩 모듈 디렉터리에 모듈로 넣을 수도 있습니다.

requiremens.txt 이 파일은 프로젝트가 참조하는 비프로젝트 종속성을 나열합니다. 그 외에는 다른 기능이 없습니다.

그러므로 이 두 프로젝트 사이에는 갈등이 없으며, 공존할 필요성이 크다고 볼 수 있습니다.

  • 프로젝트를 시스템 모듈로 저장해야 하거나 시스템 명령으로 설치할 수 있는 경우 이는 필수입니다. setup.py

  • 프로젝트를 직접 실행할 수 있다면 requirements.txt도 필수입니다.

  • 두 가지 기능이 모두 필요한 경우 두 파일 모두 빠질 수 없습니다.

두 가지 기능이 모두 필요한가요?

하나가 있어야 하고 더 많은 방법이 있습니다. 예를 들어 Flask는 두 가지 방법을 지원합니다.

  • 시스템 명령으로 시작 Flask 0.11.1에 새로운 Click 패키지가 추가되어 설치 후 명령으로 실행할 수 있습니다.

  • 은 직접 실행됩니다. 전통적인 Flask 시작 방법은 일반적으로 app.run() 또는 python manage.py runserver

  • 입니다.

질문자에게 도움이 되기를 바랍니다.


보충:

사실 setup.py에도 종속성 목록이 있으므로 설정 중에 requirements.txt과 연결되는 것에 대해 걱정할 필요가 없습니다. 이를 연결할 필요가 없기 때문에 작성자가 이미 에 작성했습니다. setup.py.

小葫芦

requirements.txt는 프로젝트에 도입되는 타사 라이브러리를 선언하는 필수 항목입니다. 플라스크 웹 애플리케이션으로서 setup.py는 의미가 없는 것 같습니다. . .

Ty80

setup.py은 일반적으로 sudo python setup.py install,

을 실행하여 직접 작성한 모듈을 설치하는 것입니다.

requirements.txt은 이 모듈이 의존하는 모듈을 나타냅니다. 일반적으로 종속 모듈을 설치하려면 sudo pip install -r requirements.txt을 실행하세요.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿