Modern Python Projects Transcripts
Chapter: Managing Python project
Lecture: My favorite tool
0:00 I shall do a lot of different tools.
0:02 Maybe, you know, and use some of them.
0:04 Or maybe you're just looking for which one to use.
0:07 So, you might be wondering which tool,
0:09 though I use in my projects,
0:11 am I a poetry person or do I prefer pip?
0:14 And for conda? Well, I usually don't use any of them.
0:18 I managed dependencies with simple requirements file and I use pip tools to pin them.
0:24 I mean, if I work on some hobby project,
0:26 I might use poetry because it's fun to use.
0:29 But if I work with a client,
0:31 I don't recommend them any of those external tools, unless their team is already using one
0:36 of them. Why is that?
0:38 Well, if I use venv to,
0:40 create virtual environments and then install packages with pip,
0:44 I use tools that comes built in with python.
0:48 On the other hand, when I'm using an external tool and this tool stops working
0:53 or have a bug, I have a problem because I can no longer work on
0:56 my project. I can't add new dependencies if my tool can't install them,
1:03 and I can't run any scripts.
1:04 If there is a problem with this automatic activation of virtual environments.
1:09 If the tool gets abandoned and it's no longer updated,
1:12 I have to move all my configuration files to a different tool.
1:16 Don't get me wrong. I think the developers of every tool that they mentioned here
1:20 are doing an amazing job. And I'm grateful that those tools exist because they can
1:25 definitely make your life easier. And I'm especially thankful since most of those tools are
1:30 open source, so people put their free time.
1:33 But before you decide to use one of them,
1:35 think about the pros and cons for a bit.
1:38 If you think it's worth adding an external tool for the comfort of,
1:41 having one tool to manage your project,
1:44 go ahead. I know some people who use those tools,
1:46 and they're happy. But I also know a lot of programmers who manage their projects
1:51 without any external tools. So,
1:54 just like with adding any new dependency to your project,
1:57 do a bit of a research to figure out if you really need it.