--Shota Yamamoto --VisasQ Advisor Development Team --Front end center
--Python doesn't have clear de facto standard tools like npm, bundler --Most tools use pip internally ――Select in consideration of what you want to do and development speed
--Fixed version including child dependency --Package upgrade --Simple script registration
--Building packages, publishing to PyPI, etc.
pip-tools
requirements.txt
with pip-compile requirements.in
--Install with pip-sync
--Packages can be updated individually
pip-compile --upgrade-package django
--None
pipenv
https://pipenv-ja.readthedocs.io/ja/translate-ja/basics.html
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"
[packages]
requests = "*"
[dev-packages]
pytest = "*"
--Update all packages at once --Packets cannot be updated individually --Update all packages during install --Do not exceed the version described in Pipfile
--Write in scripts of Pipfile
--Run with pipenv run foo
[scripts]
lint = "flake8"
--There was a time when it wasn't released for about a year and a half --Released in April of this year and several times since: ideograph_advantage:
poetry
https://github.com/python-poetry/poetry
[tool.poetry.dependencies]
requests = { version = "^2.13", extras = [ "security" ] }
[tool.poetry.scripts]
my-script = 'my_package:main'
--Packages can be updated individually --Need to update individually until child dependency
--There is a function to prepare * .py
and execute it.
--You cannot write commands directly
――It's not easy because you need to prepare a file each time.
--Convenient for doing complicated things
--There are few maintainers and the development speed is slow
Recommended Posts