question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Using pip-tools to manage dependencies

See original GitHub issue

Currently zappa has several pinned dependencies that make it likely that it works, but also makes it hard to keep using as time passes because of other packages dependency updates.

For this I believe we should be separating the hard requirements from the pinned ones.

pip-tools allows us to do that, while not having two collections of requirements that need to be updated individually.

Context

See many complaints throughout the years.

Expected Behavior

Installing zappa should work with an open-ended set of dependencies until a specific one doesn’t work.

Actual Behavior

Some installations only work if people ignore the dependency requirements.

Possible Fix

With pip-tools, updating a requirement would be adding it in requirements.in or test_requirements.in as needed and then running:

pip-compile -o test_requirements.txt requirements.in test_requirements.in && cp test_requirements.txt requirements.txt && pip-compile -o requirements.txt requirements.in

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:5 (1 by maintainers)

github_iconTop GitHub Comments

1reaction
gopalmeenacommented, Feb 14, 2020

I have not used this package manager poetry, but it seems that poetry keeps things simple and clean to use. I hope this may help.

1reaction
jnevescommented, Feb 13, 2020

@monkut tried it with zappa - ended up with a broken set of incompatible packages and, even if worked, would be limited to 2 sets of dependencies when I want at least 3 in the end (production, tests and dev)

Read more comments on GitHub >

github_iconTop Results From Across the Web

Pip Tools and package management - ActiveState
Pip tools are a set of third party command line tools designed to help with Python 3 dependency management by keeping dependencies up...
Read more >
Quick tip: How I use pip-tools to wrangle dependencies
pip -tools solves this by compiling a requirements.txt file with all of the packages being used, including underlying depenencies, pinned in the ...
Read more >
jazzband/pip-tools: A set of tools to keep your pinned ... - GitHub
The pip-compile command lets you compile a requirements.txt file from your dependencies, specified in either pyproject.toml , setup.cfg , setup.py , or ...
Read more >
Better Python Dependency Management with pip-tools
One of our developers looked into using pip-tools to improve the workflow around projects' Python dependencies. Read about his experience.
Read more >
Managing Python dependencies with pip-tools ... - Siv Scripts
pip -tools is a package that allows us to separate direct dependencies from their sub-dependencies. pip-tools generates a dependency graph and ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found