How to Use Poetry in Python to avoid Dependency Hell

  Рет қаралды 9,574

Earthly

Earthly

7 ай бұрын

Earthly ➤ earthly.dev
Today, let's discuss Python dependency, virtual environments and the use of Poetry, an all-in-one tool for virtual environments, dependency management, packaging, and distribution in Python projects.
I'll explain how Poetry helps manage dependencies, set up virtual environments, and package projects for distribution.
I'll also mention the limitations of Poetry when dealing with non-Python dependencies or C-based dependencies, recommending the use of containers in such cases.
➡️ Earthly: earthly.dev/
📒 Links 📒
Article version of this tutorial:
earthly.dev/blog/python-poetry/
Python Poetry Website
python-poetry.org/
📒 About Earthly 📒
Earthly is a command line tool that simplifies build processes, especially for complex projects involving multiple programming languages. It helps manage communication between different languages, making builds easier to manage. If you want to streamline your build processes and work with multiple languages, Earthly can help.
Website: earthly.dev/
Follow us on Twitter: / earthlytech
Subscribe: www.youtube.com/@EarthlyTech?...

Пікірлер: 33
@jdavid82
@jdavid82 4 ай бұрын
this video helped me with 80% of getting there, now I need to look for where to add the hello world code and how to run it
@jonron3805
@jonron3805 6 ай бұрын
The explanation of Poetry and comparing it with other virtual environments has been like none I have seen before. Its a wonderful explanation. The only thing I would have liked to see in addition to what you showed was an EXAMPLE where there is a dependency conflict in some modules and how introducing poetry will resolve the issue.
@EarthlyTech
@EarthlyTech 6 ай бұрын
Hey, Thanks for watching! That is good feedback. I'm not sure I'll be making another video on Poetry, but if I do I try to cover a specfic dependency conflict.
@cerkal726
@cerkal726 12 күн бұрын
Explanation was nice. But I think you have missed main part of video that is how to avoid dependency hell. Like when installing two packages which use different versions of same depended package is still resulting in error. Which you explained in the earlier section of the video but didn't actually explain if it could be solved or not using peotry.
@eugeneL_N1E104
@eugeneL_N1E104 3 ай бұрын
as to future potential topics, python typing looks not very clear when I write class methods for non-builtin classes. also wondering since which python3.* does this typing has really performance improvements (or "dev acceleration" as IDE use them)
@jeffg4686
@jeffg4686 Ай бұрын
Nice. I like the choice of toml - aligns with Rust - my other language.
@alexv2401
@alexv2401 3 ай бұрын
Thank you for your content. Your contributions to the KZfaq Python Hive mind do not go unnoticed. Sincerely, A passionate Pythonista
@EarthlyTech
@EarthlyTech 3 ай бұрын
Wow, thank you
@hazard_111
@hazard_111 5 ай бұрын
Great video. Can you please do one on Pants build system as well?
@EarthlyTech
@EarthlyTech 5 ай бұрын
Thanks. Pants video may come. I do have this interview with Pants creator: kzfaq.info/get/bejne/o6uoa7GI0pqcY2Q.html
@NamasenITN
@NamasenITN 3 ай бұрын
Can I install poetry with poetry? Or will it cause an anomaly in the space time continuum?
@EarthlyTech
@EarthlyTech 3 ай бұрын
An anomaly for sure! The universe will be replaced with another universe where Python packaging is even more complex.
@BryanChance
@BryanChance 5 ай бұрын
I don't know which is worse python or nodejs
@thygrrr
@thygrrr 4 ай бұрын
Node. It's not even a competition.
@julians.2597
@julians.2597 2 ай бұрын
@@thygrrr yeah, but it's bad enough
@kristiannn
@kristiannn 4 ай бұрын
this is one of the best videos on youtube about dependency management in python
@EarthlyTech
@EarthlyTech 3 ай бұрын
Thank you so much for your kind words! I'm glad you found the video helpful.
@2002budokan
@2002budokan 4 ай бұрын
1. What if I don't want to publish my package on pypi but use it on my own local machine as a single executable? For example on Windows machine as an .exe file, how can I build this file? 2. And in this video it is not clear, how poetry breaks the diamond that you show us at the beginning of your video. What if we need two different version of the same package, for two libraries we need in our project, how poetry breaks the diamond and put two different versions of the same library in venv?
@EarthlyTech
@EarthlyTech 3 ай бұрын
Poetry doesn't break the diamond problem. It lessens its scope, as all virtual envs in python do. within a single projects its still not possible to depend on two version of something, unless the new version is published with a different name.
@LodeNachtergaele
@LodeNachtergaele 4 ай бұрын
What do you think about Pixi ?
@EarthlyTech
@EarthlyTech 3 ай бұрын
I'm not familiar with it. Do you like it?
@downloadpcgamesdirectlinkb7590
@downloadpcgamesdirectlinkb7590 6 ай бұрын
This happens to me, it was shit I spend whole day trying to work it out I notice the problem is different dependency on different python version ugh
@EarthlyTech
@EarthlyTech 6 ай бұрын
yeah, we've all been burnt by this I think
@JevKuznetsov
@JevKuznetsov Ай бұрын
To go one step further - devcontainers are an even better solution. Build once - reproduce on any system.
@EarthlyTech
@EarthlyTech Ай бұрын
Do you use the dev container support in VS Code? I find that is pretty nice.
@intelligenceservices
@intelligenceservices 13 күн бұрын
Python is supposed to be so clever terse and elegant. If it was an apartment, it would be as spotless as patrick bateman's, but they have such a pile of garbage outside you need a Shai-Hulud to get to the door. Just a little poetry there.
@2002budokan
@2002budokan 4 ай бұрын
cargo4python => poetry
@EarthlyTech
@EarthlyTech 4 ай бұрын
Exactly
@mumk
@mumk Ай бұрын
Use Nix instead
@windowsrefund
@windowsrefund 13 күн бұрын
How?
@windowsrefund
@windowsrefund 13 күн бұрын
I LOVE this video but please make the Internet a better place and stop referring to directories as "folders". Thumbs up! Also, the term "open source" is totally lame. The proper term is "Free Software".
Setup a Python project with PDM
12:22
Orchard Dweller
Рет қаралды 3,6 М.
why I will never use python-poetry
9:09
anthonywritescode
Рет қаралды 53 М.
格斗裁判暴力执法!#fighting #shorts
00:15
武林之巅
Рет қаралды 88 МЛН
MOM TURNED THE NOODLES PINK😱
00:31
JULI_PROETO
Рет қаралды 9 МЛН
Be kind🤝
00:22
ISSEI / いっせい
Рет қаралды 19 МЛН
5 Good Python Habits
17:35
Indently
Рет қаралды 339 М.
How to Create and Use Virtual Environments in Python With Poetry
14:43
Project Setup for Python 3.7+ [with Poetry]
12:18
COMMAND
Рет қаралды 597
Is Python making Poetry REDUNDANT?!
9:22
Carberra
Рет қаралды 7 М.
The secret to making Golang error handling a breeze
13:46
Earthly
Рет қаралды 8 М.
Don't Use Pip For Big Projects - Use These Instead
7:56
Isaac Harris-Holt
Рет қаралды 21 М.
Python Poetry in 8 Minutes
8:27
ArjanCodes
Рет қаралды 46 М.
The Truth About Learning Python in 2024
9:38
Internet Made Coder
Рет қаралды 108 М.
Pydantic Tutorial • Solving Python's Biggest Problem
11:07
pixegami
Рет қаралды 236 М.
AMD больше не конкурент для Intel
0:57
ITMania - Сборка ПК
Рет қаралды 505 М.
Nokia 3310 versus Red Hot Ball
0:37
PressTube
Рет қаралды 3,7 МЛН
3D printed Nintendo Switch Game Carousel
0:14
Bambu Lab
Рет қаралды 4,7 МЛН
Индуктивность и дроссель.
1:00
Hi Dev! – Электроника
Рет қаралды 1,5 МЛН