>  기사  >  백엔드 개발  >  pip를 사용하여 설치하는 방법에 대해 알아야 할 모든 것

pip를 사용하여 설치하는 방법에 대해 알아야 할 모든 것

PHPz
PHPz원래의
2024-08-12 18:46:39320검색

All you need to know on how to install things with pip

이 기사에서는 pip를 사용하여 가상 환경에 코드를 설치하는 다양한 방법을 살펴보겠습니다.

복잡성은 더욱 커질 수 있지만 걱정하지 마세요. 저는 모든 단계에서 여러분을 위해 옆에 있습니다. 등을 두드리며

말은 이제 그만! 쉬운 것부터 시작해 보세요.

로컬 저장소 설치

다음 상황을 가정해 보겠습니다. 방금 저장소를 체크아웃했고 요구 사항을 설치하려고 합니다.

이 작업은 가상 환경을 생성한 후에 다음 명령을 사용하여 쉽게 수행할 수 있습니다.

$ python -m venv (name of virtual environment)
$ source (name of virtual environment)/bin/activate
$ pip install .

설치 명령이 궁금하고 요구 사항.txt가 없는 경우 나쁜 소식이 있습니다. 지금은 2024년이므로 더 이상 요구사항.txt를 사용해서는 안 됩니다.

물론 이것은 내 의견일 뿐이지만 내가 작업 중인 모든 저장소에는 pyproject.toml이 있으며 모든 프로젝트에서도 이를 사용하는 것이 좋습니다. 실행 가능한 예외는 샌드박스 프로젝트 및 소규모 스크립트일 수 있습니다.

여기서는 "이유"가 잘못되었을 수 있지만 잠시 살펴보겠습니다. 이를 통해 요구 사항 자체를 정의할 수 있을 뿐만 아니라 필요한 경우 사용자가 설치할 수 있는 선택적 종속성을 정의할 수도 있습니다.

이 기능은 테스트 라이브러리나 포맷터와 같이 생산적인 애플리케이션에서는 원하지 않는 개발 도구에 특히 유용합니다.

그러나 이는 기능 목록의 시작일 뿐입니다. 또한 메타데이터를 위한 장소이며 애플리케이션에 대한 사용자 정의 진입점을 허용합니다.

여기에 다시 설치 명령이 있습니다.

$ pip install .

pyproject.toml이 있는 폴더에 있는지 확인하세요.
전문가 팁을 드리자면, 설치하려는 저장소에서 작업하려면 다음 명령을 사용하세요

$ pip install -e .

이렇게 하면 프로젝트를 다시 설치할 필요 없이 코드 변경 사항을 반복적으로 테스트할 수 있는 "개발 모드"라고도 하는 편집 가능한 설치가 수행됩니다.

무슨 뜻인가요?

가져오려는 모듈에서 코드를 변경했지만 변경 사항이 적용되지 않는 경우가 있었나요?

편집 가능한 설치를 시도해 보세요!

막간: 지점에서 설치

빠른 질문: 기본 브랜치 대신 특정 브랜치의 버전을 설치하려면 어떻게 해야 합니까?

답은 뻔하다

$ git checkout (branch name)

위 단계를 반복하세요! 그렇죠?

바보야, 방금 내 함정카드를 발동시켰구나!

버전 2.23 이후로 보다 직관적인 브랜치 전환을 허용하는 새로운 기능이 등장했으며 그 이름은 git 스위치입니다.

git checkout은 그 이후로 더 이상 사용되지 않습니다.

그러므로 오래된 도구를 사용하여 동료들 앞에 자신을 노출시키지 마십시오. 대신, 다음에 화면을 공유할 때 아무렇지도 않게 git 스위치를 놓아 모든 사람에게 귀하가 진지하다는 것을 알리십시오.

개인 저장소에서 설치

힘내세요!

지금까지의 모든 것은 단순한 어린이 장난이었습니다. 이제 Big Boy Pip을 사용할 시간입니다.

누구나 패키지 저장소에 있는 패키지를 설치할 수 있지만 거기에서 설치하는 방법만 알면 개인 저장소에 있는 모든 골드에 액세스할 수 없게 됩니다.

패키지로 변환하기 전에 자신의 코드를 테스트해 보는 것도 도움이 됩니다.

이러한 상황에 처한 경우 다음 명령을 사용하세요.

$ pip install git+ssh://git@(your provider)/(owner)/(repo name).git

다음은 자리 표시자가 없는 예이므로 이해가 더 쉬울 수 있습니다.

$ pip install git+ssh://git@github.com/pandas-dev/pandas.git

재미있는 사실: '://' 이후의 모든 내용은 git에서 생성된 ssh 명령과 거의 동일합니다. 하지만 'github.com'과 소유자 'pandas-dev'를 구분하는 데 사용되는 콜론 대신 슬래시를 바꿔야 합니다.

지사에서 설치하거나 해당 문제에 대한 다른 참조를 설치하려면 어떻게 해야 합니까?

쉽죠! 명령 끝에 @(ref)를 추가하면 됩니다. 그래서 다음과 같이 보일 수 있습니다

$ pip install git+ssh://git@github.com/pandas-dev/pandas.git@1.5.x (branch)
$ pip install git+ssh://git@github.com/pandas-dev/pandas.git@v2.2.2 (tag)

비공개 저장소 및 pyproject.toml

하지만 명령줄에서 패키지를 설치하는 것만으로는 충분하지 않다면 어떻게 될까요? 빌드 파이프라인을 개인 저장소에서 설치해야 한다면 어떻게 될까요?

파이프라인에 개별 pip install 문을 추가하는 것은 불가능하다는 점에 동의하시기를 바랍니다.

그 대신 pyproject.toml의 종속성 섹션에 무엇을 추가해야 하는지 보여드리겠습니다. 이전 명령과 매우 유사하다는 것을 알 수 있습니다.

"pandas@git+ssh://git@github.com/pandas-dev/pandas.git@1.5.x",

이 항목을 추가한 후 pip install -e ..를 다시 실행하세요.

축하합니다! 환경에 오래된 버전의 pandas를 설치했습니다. 필요한 실제 패키지로 이를 반복할 수도 있습니다.

이제 빨리 만들어 보세요

지금까지 함께해주셔서 보너스 도구 추천을 던집니다.

Beberapa bulan kebelakangan ini saya telah menggunakan uv, yang merupakan pengganti drop-in untuk pip (antara lain alat yang sering digunakan dalam sistem eko ​​ular sawa) yang ditulis dalam Rust.

Titik jualan terbesar ialah ia mempercepatkan penciptaan persekitaran maya dan pemasangan pakej dengan ketara. Terutama jika anda mencipta semula persekitaran maya, kerana ia menggunakan caching. Kita bercakap tentang menjadi 10 kali lebih pantas ... atau bahkan 100 kali lebih pantas jika cache hangat.

Senarai faedah lebih panjang daripada itu, tetapi ini juga merupakan perkara untuk artikel lain. Jadi, cubalah buat masa ini dan terima kasih nanti.

Kesimpulan

Mari kita selesaikan perkara ini.

Ini adalah semua cara yang saya gunakan semasa bekerja apabila melibatkan interaksi antara git dan pip. Mungkin terdapat cara lain untuk memasang bahan, tetapi ini harus meliputi 99% kes penggunaan.

Adakah saya terlupa helah baris arahan kegemaran anda? Kemudian kongsi dalam komen.

Saya harap anda mempelajari sesuatu yang baharu dengan artikel ini dan jika anda berminat dengan lebih banyak artikel teknikal tentang Pembangunan Perisian, maka pertimbangkan untuk mengikuti.

위 내용은 pip를 사용하여 설치하는 방법에 대해 알아야 할 모든 것의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.