Концепция этих файлов проста и аналогична другим уже существующим инструментам, если вы знакомы с Ruby Bundler или Node 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
файл имеет определенные версии для каждой зависимости; тот, у которого нет этого расширения, имеет только версии, известные контролирующим людям. Тем не менее, просить объяснения того, что все еще развивается и еще далек от того, чтобы быть четко определенным, гораздо менее стандартизированным, возможно, немного преждевременно.