4. Acknowledgement
This talk liberally borrows from Kenneth Reitz’s PyCon talk of the same name.
Follow @kennethreitz - creator of Requests: HTTP for Humans
9. But pip has this feature right?
Sort of . . .
$ pip freeze > requirements.txt
$ cat requirements.txt
certifi==2018.4.16
chardet==3.0.4
idna==2.7
requests==2.19.1
urllib3==1.23
But this mixes “what I want installed” with ”what I need installed”.
10. So we have two problems in Python
1. Managing application dependencies is complex for newbies.
2. Dependency management could be better.
12. What do other languages do?
Nodejs: yarn & npm (lockfile)
PHP: Composer (lockfile)
Rust: Cargo (lockfile)
Ruby: Bundler (lockfile)
13. $ cat Pipfile
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
requests = "*”
[dev-packages]
[requires]
python_version = "3.6"
A new standard that will
eventually be supported by pip.
https://github.com/pypa/pipfile
Pipfile