Концепція цих файлів проста та аналогічна іншим уже існуючим інструментам, якщо ви знайомі з Bundler Ruby або Npm Npm. Pipenv
є як пакетом, так і інструментом управління віртуальним середовищем, який використовує файли Pipfile та Pipfile.lock для досягнення цих цілей.
Pipenv обробляє віртуальне середовище для вас одним стандартним способом (більше не потрібно активувати та дезактивувати). Нижче про деякі основи для початку роботи див. На веб-сайті pipenv .
Починаємо
Почати використовувати pipenv досить просто, у папці вашого проекту проект ...
$ pipenv install
... і якщо у нього вже є requirements.txt
файл, він генерує Pipfile
файл із вимогами та папку віртуального середовища, інакше він створить порожній Pipfile
файл. Якщо ви не любили або передумали про щось, що встановили, просто введіть ...
$ pipenv uninstall <package>
... і ти добре підеш. Щоб активувати віртуальне середовище, яке вже створило pipenv, перейдіть за допомогою ...
$ pipenv shell
... і ваше віртуальне середовище буде активовано. Вийти з оточення ...
$ exit
... і ви повернетесь до свого початкового сеансу терміналу.
Pipfile
Файл Pipfile призначений для визначення вимог до пакунків для вашої програми або бібліотеки Python, як для розробки, так і для виконання. Ви можете встановити пакет, просто використовуючи ...
$ pipenv install flask
... і буде додано як залежність від розгортання та виконання або за допомогою ...
$ pipenv install --dev pytest
... і він буде використовуватися як залежність від часу розвитку. Синтаксис файлу досить прямий вперед.
[[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
Pipfile.lock призначений для вказівки, на основі даний пакетів в Pipfile , які слід використовувати конкретний варіант тих, уникаючи ризики автоматичного оновлення пакетів , які залежать один від одного і розірвати ваше дерево залежностей проекту.
Ви можете заблокувати поточно встановлені пакети, використовуючи ...
$ pipenv lock
... і інструмент знайде вашу папку віртуального середовища, щоб автоматично генерувати файл блокування на основі встановлених версій. Синтаксис файлу не такий очевидний, як для Pipfile , тому для стислість він тут не відображатиметься.
Gemfile
іGemfile.lock
від світу Ruby:.lock
Файл має конкретні версії для кожної залежності; той, що не має цього розширення, має лише відомі для контролістів версії. Це сказати, просити пояснення чогось, що все ще розвивається і далеко не чітко визначеного, набагато менш стандартизованого, можливо, трохи передчасно.