[Python Dependency Pitfalls] A total mess?

Hey there,

Recently I watched a Pythonista ask for advice on setting up a Python project on his work machine.

This new developer had some prior experience with NodeJS and had just started to get his feet wet with Python.

But OH BOY was he already frustrated:

"Why is Python dependency management so sh*t?"

He was trying to install someone else's Python application and to get it to run on his work machine.

The app had some external dependencies it needed to work properly—things like a third-party networking library and a database interface.

But the way the original author "documented" these dependencies was utterly lacking:

There was only a small "README" file with a list of packages the project needs to work.

That's where the trouble started—

This list was a) incomplete and b) lacked any versioning information whatsoever.

So our poor Pythonista is trying hard to make this application work.

But every time he installs another package dependency and then tries to launch the app he gets slammed in the face with this:

"ImportError: No module named X"

He then spends 15 minutes googling for a solution, finally hunts down and installs the missing package, runs the app again and:

"ImportError: No module named Y"

Yuck!

(Rinse and repeat.)

He's spinning his wheels, and the lack of progress is starting to get to him.

After all, what he loves about programming is "programming"—and NOT wasting hours on trial and error just getting ready for some real development work.

So the guy becomes (understandably) more and more irritated.

Finally, he vents his frustration by putting the blame on Python:

"In NodeJS it's fairly basic to have all dependencies listed in package.json and everything gets installed automatically with a simple command…"

"Why isn't there such a thing for Python? Python packaging is A TOTAL MESS."

And who would disagree with him after going through the same experience?

Modern dependency management and dealing with third-party packages in Python is complex.

And it's easy to get stuck or to "shoot yourself in the foot" if you don't feel confident in the central workflows and tools.

Over the next 5 days, I'll show you some of the main pitfalls with dependency management in Python—and how to avoid them.

When you steer clear of these potholes, you'll find that you can make progress more easily…

And you'll pull ahead of your peers who are left wondering why their productivity continues to plateau.

We'll kick off the first lesson tomorrow.

— Dan Bader

P.S. Ironically, pitfall #1 is something that recently shook the NodeJS community to its core.

It was a "clustermug" so bad that even some newspapers reported about it. But unfortunately Python isn't immune against this problem either…

You'll hear the details in my next email.

Older messages

[PythonistaCafe] What makes PythonistaCafe different

Thursday, February 10, 2022

Hey there, Mastering Python is *not* just about getting the books and courses to study—to be successful you also need a way to stay motivated and to grow your abilities in the long run. Many

[Python Dependency Pitfalls] The Iceberg

Tuesday, February 8, 2022

Hey there, The other day I read this quote from a Python developer that made me stop and think: "As a noob with a little programming knowledge already, I've found setting up and installing

[Python Dependency Pitfalls] "Re-inventing the wheel" disease

Monday, February 7, 2022

Hey there, PyPI, the Python packaging repository, now contains more than 100000 third-party packages in total. That's an *overwhelming* number of packages to choose from... And this feeling of

[Python Dependency Pitfalls] Artisanal "from-scratch" development

Sunday, February 6, 2022

Hey there, The other day I got this question from Newsletter member Newvick in my email inbox: ~~~ I'm trying to get past the beginner's stage in Python and one problem I have is: When do you

[Python Dependency Pitfalls] What dev managers expect from Python candidates

Saturday, February 5, 2022

Hey there, My friend Og is a senior manager at Red Hat and works with a large team of developers and quality engineers using Python. I got to pick his brain on what he thought were the most important

You Might Also Like

Google DeepMind unveils a new AlphaFold

Wednesday, May 8, 2024

Plus: Atlan grabs $105M and New Yorkers say hi to Dubliners View this email online in your browser By Christine Hall Wednesday, May 8, 2024 Good afternoon, and welcome to your Hump Day TechCrunch PM. I

Apple would never make this mistake

Wednesday, May 8, 2024

Rabbit R1 AI hardware fails spectacularly ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

JSK Weekly - 8th May, 2024

Wednesday, May 8, 2024

Are you interested in combining your love for chess with your passion for coding? A comprehensive video course was just posted on the freeCodeCamp.org YouTube channel that will teach you how to code

💻 Signs You Need a New Laptop — How to Free Up Storage on the PS5

Wednesday, May 8, 2024

Also: 7 Ways to Speed Up Excel Spreadsheets, and More! How-To Geek Logo May 8, 2024 Did You Know The topmost vertebra in the human spine (C1) is called the "atlas" vertebra---a reference to

JSK Daily for May 8, 2024

Wednesday, May 8, 2024

JSK Daily for May 8, 2024 View this email in your browser A community curated daily e-mail of JavaScript news Debugging Like a Pro: 10 Tips for Effective JavaScript Troubleshooting This article will

Daily Coding Problem: Problem #1435 [Medium]

Wednesday, May 8, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Microsoft. Implement the singleton pattern with a twist. First, instead of storing one

Mapped | Visualizing the Tax Burden of Every U.S. State 💸

Wednesday, May 8, 2024

Tax burden measures the percent of an individual's income that is paid towards taxes. See where it's the highest by state in this graphic. View Online | Subscribe Presented by: FEATURED STORY

Noonification: Do Not Open This Article

Wednesday, May 8, 2024

Top Tech Content sent at Noon! Get Algolia: AI Search that understands How are you, @newsletterest1? 🪐 What's happening in tech today, May 8, 2024? The HackerNoon Newsletter brings the HackerNoon

Modern Payments. Now.

Wednesday, May 8, 2024

Netevia is breaking down the traditional barriers businesses face through an integrated ecosystem of payments, banking, and ISV solutions. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Top Tech Deals 😍 Beats Studio Pro, Lenovo Yoga 9i, Power Banks, and More

Wednesday, May 8, 2024

Save on a new Galaxy S24 Ultra, headphones, or an Amazon Kindle. How-To Geek Logo May 8, 2024 Top Tech Deals: Beats Studio Pro, Lenovo Yoga 9i, Power Banks, and More Save on a new Galaxy S24 Ultra,