Khái niệm đằng sau các tệp này là đơn giản và tương tự với các công cụ đã có sẵn khác, nếu bạn có chút quen thuộc với Bundler của Ruby hoặc Npm của Node. Pipenv
là cả một công cụ quản lý môi trường ảo và gói sử dụng các tệp Pipfile và Pipfile.lock để đạt được các mục tiêu này.
Pipenv xử lý môi trường ảo cho bạn theo một cách tiêu chuẩn mặc định (không cần kích hoạt và hủy kích hoạt nữa). Dưới đây, một số điều cơ bản để giúp bạn bắt đầu, xem thêm tại trang web pipenv .
Bắt đầu
Bắt đầu sử dụng pipenv thật dễ dàng, trong loại thư mục dự án của bạn ...
$ pipenv install
... và nếu nó đã có một requirements.txt
tệp, nó sẽ tạo một Pipfile
tệp có các yêu cầu và thư mục môi trường ảo, nếu không, nó sẽ tạo một Pipfile
tệp trống . Nếu bạn không thích hoặc thay đổi suy nghĩ về thứ gì đó mà bạn đã cài đặt, chỉ cần gõ ...
$ pipenv uninstall <package>
... và bạn tốt để đi. Để kích hoạt môi trường ảo mà pipenv đã tạo, hãy đi với ...
$ pipenv shell
... Và môi trường ảo của bạn sẽ được kích hoạt. Rời khỏi môi trường ...
$ exit
... và bạn sẽ trở lại phiên thiết bị đầu cuối ban đầu của bạn.
Đường ống
Tệp Pipfile nhằm xác định các yêu cầu gói cho ứng dụng hoặc thư viện Python của bạn, cả để phát triển và thực thi. Bạn có thể cài đặt một gói bằng cách sử dụng ...
$ pipenv install flask
... và nó sẽ được thêm vào như một phần phụ thuộc để triển khai và thực thi hoặc bằng cách sử dụng ...
$ pipenv install --dev pytest
... Và nó sẽ được sử dụng như một sự suy giảm cho thời gian phát triển. Cú pháp tập tin là khá thẳng về phía trước, như sau.
[[source]] # Here goes your package sources (where you are downloading your packages from).
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"
[packages] # Here goes your package requirements for running the application and its versions (which packages you will use when running the application).
requests = "*"
flask = "*"
pandas = "*"
[dev-packages] # Here goes your package requirements for developing the application and its versions (which packaes you will use when developing the application)
pylint = "*"
wheel = "*"
[requires] # Here goes your required Python version.
python_version = "3.6"
Pipfile.lock
Các Pipfile.lock được thiết kế để xác định, căn cứ vào các gói có mặt trong Pipfile , phiên bản cụ thể của những nên được sử dụng, tránh những rủi ro của tự động nâng cấp các gói phụ thuộc lẫn nhau và phá vỡ cây phụ thuộc dự án của bạn.
Bạn có thể khóa các gói hiện đang cài đặt của mình bằng cách sử dụng ...
$ pipenv lock
... Và công cụ sẽ tự động tra cứu thư mục môi trường ảo của bạn để tạo tệp khóa cho bạn, dựa trên các phiên bản hiện được cài đặt. Cú pháp tệp không rõ ràng như đối với Pipfile , vì vậy để đảm bảo tính đơn giản, nó sẽ không được hiển thị ở đây.
Gemfile
vàGemfile.lock
từ thế giới Ruby:.lock
Tệp có các phiên bản cụ thể cho từng phụ thuộc; phiên bản không có phần mở rộng đó chỉ có các phiên bản được biết là người kiểm soát. Điều đó nói rằng, yêu cầu một lời giải thích về một cái gì đó vẫn đang phát triển và một chặng đường dài từ việc được xác định rõ, ít tiêu chuẩn hơn, có lẽ là hơi sớm.