Hacker ApprovedDepartments

virtualenv

Hacker Approved

Shares rank 5 of 8 Python package managers by recommenders

Gives each Python project its own separate package environment, and many report few problems with it. Critics call it a hack and say it isn't relocatable out of the box.

Gives each Python project its own separate package environment, and many report few problems with it. Critics call it a hack and say it isn't relocatable out of the box.

15 people gave an opinion

recommend it
10
criticize it
5
approval share
67%
Each figure is one person. RecommendsCriticizes

Recommended in 6 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: not recommended
  4. February 2026: not recommended
  5. March 2026: recommended
  6. April 2026: not recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: not recommended
  10. August 2026: not recommended
  11. September 2026: recommended
  12. October 2026: not recommended
  13. November 2026: not recommended (month in progress)

Why it carries the badge

  • 10 people recommend itNeeds 10 or more, met.
  • 2 recommenders for every criticNeeds 2 to 1 or better, met.
  • Recommended in 6 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Few problems in practice

    “virtualenv is Often Just Fine in practice, at least if used in sensible ways”

    Comment from 29 May 2026 in “Migrating from Go to Rust”

    “I have had few problems with virtualenv in any case.”

    Comment from 20 Nov 2025 in “What Killed Perl?”
  • Known-good, reproducible configurations

    “It's a good way to have an LKGC (Last Known Good Configuration).”

    Comment from 12 Mar 2026 in “You hired the AI to write the tests. Of course they pass”

    “Virtualenvs and requirements.txt were an further improvement”

    Comment from 16 May 2026 in “'No Way to Prevent This,' Says Only Package Manager Where This Regularly Happens”
  • Go-to tool for isolating projects

    “you could still just generate a virtual venv and then use pip to install packages in the local venv”

    Comment from 5 Sep 2026 in “Git Submodules as a Package Manager”

    “you'd tell them about virtualenv or docker”

    Comment from 14 Dec 2025 in “Why Twilio Segment moved from microservices back to a monolith”

What people warn about

Each mark is one comment

  • Hacky approach, hardlinks Python installs

    “it hardlinks the python install into the local dir in order to pretend everything is a system-wide global install”

    Comment from 9 Jun 2026 in “Are you expected to run five Python type-checkers now?”

    “Virtualenv is still the same grotesque hack, where rather than doing what other languages like Perl and Ruby do”

    Comment from 26 Oct 2026 in “Type Server Protocol”
  • Considered a poor design

    “Virtualenv is still the same grotesque hack, where rather than doing what other languages like Perl and Ruby do”

    Comment from 26 Oct 2026 in “Type Server Protocol”

    “The fact that virtualenv exists at all should be viewed by the python community as a source of profound shame.”

    Comment from 15 Nov 2025 in “Go's Sweet 16”
  • Clunky and hard to learn

    “Things got bearable with virtualenv/virtualenv wrappers, but it was never what I would call great.”

    Comment from 19 Mar 2026 in “Astral to Join OpenAI”

    “I have suffered through learning about anaconda, virtualenv, pip, and more.”

    Comment from 20 Mar 2026 in “Thoughts on OpenAI acquiring Astral and uv/ruff/ty”

Other Python package managers people recommend

The four most recommended other Python package managers, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

virtualenv compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
uv53310084%121 yr9 ownersApproved
pip469533%128 yrs3 owners—
Poetry203040%8——
Python venv171063%10——
virtualenvThis page10567%6—Approved
See all 8 Python package managers, ranked

What people said

All 17 comments that mention it, newest first. Each links to the original comment.

“Virtualenv is still the same grotesque hack, where rather than doing what other languages like Perl and Ruby do”

CriticizesComment from 26 Oct 2026 in “Type Server Protocol”

“you could still just generate a virtual venv and then use pip to install packages in the local venv”

RecommendsComment from 5 Sep 2026 in “Git Submodules as a Package Manager”

“virtualenvs are the smallest of those”

MixedComment from 9 Jun 2026 in “Are you expected to run five Python type-checkers now?”

“it hardlinks the python install into the local dir in order to pretend everything is a system-wide global install”

MixedComment from 9 Jun 2026 in “Are you expected to run five Python type-checkers now?”

“Virtualenv allows you to seamlessly run multiple Python ecosystems simultaneously, even within the same project directory.”

RecommendsComment from 8 Jun 2026 in “Are you expected to run five Python type-checkers now?”

“virtualenv is Often Just Fine in practice, at least if used in sensible ways”

RecommendsComment from 29 May 2026 in “Migrating from Go to Rust”

“I had the misfortune of having to use Python with a virtual env on the weekend - it did not end well”

CriticizesComment from 24 May 2026 in “Migrating from Go to Rust”

“Virtualenvs and requirements.txt were an further improvement”

RecommendsComment from 16 May 2026 in “'No Way to Prevent This,' Says Only Package Manager Where This Regularly Happens”

“virtualenv isn't relocatable out of the box”

CriticizesComment from 1 May 2026 in “Shai-Hulud Themed Malware Found in the PyTorch Lightning AI Training Library”

“I have suffered through learning about anaconda, virtualenv, pip, and more.”

CriticizesComment from 20 Mar 2026 in “Thoughts on OpenAI acquiring Astral and uv/ruff/ty”

“Things got bearable with virtualenv/virtualenv wrappers, but it was never what I would call great.”

MixedComment from 19 Mar 2026 in “Astral to Join OpenAI”

“It's a good way to have an LKGC (Last Known Good Configuration).”

RecommendsComment from 12 Mar 2026 in “You hired the AI to write the tests. Of course they pass”

“you'd tell them about virtualenv or docker”

RecommendsComment from 14 Dec 2025 in “Why Twilio Segment moved from microservices back to a monolith”

“I think that's part of the power of virtualenv as a tool -- it's flexible in how it works.”

RecommendsComment from 21 Nov 2025 in “A surprise with how '#!' handles its program argument in practice”

“This way I don't have to worry about whether the environment was activated or not.”

RecommendsComment from 20 Nov 2025 in “A surprise with how '#!' handles its program argument in practice”

“I have had few problems with virtualenv in any case.”

RecommendsComment from 20 Nov 2025 in “What Killed Perl?”

“The fact that virtualenv exists at all should be viewed by the python community as a source of profound shame.”

CriticizesComment from 15 Nov 2025 in “Go's Sweet 16”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.