Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
pipenv, is it still useful?
#1
Hello,
new to the forum but long time python user.
I got myself into the habit of using pipenv a lot, but I always run into issues when it comes to cross platform work, CICD setups for github actions, and the like.

I originally got into pipenv because I wasnt a big fan of typing everything out via venv. I liked my simplistic pipenv install.

However I feel like I either need to learn pipenv better and figure out how I can setup environments based on platforms, and how to leverage it properly in my yaml files. Or just drop it altogether and get with whatever is the most modern approach.

Any recommendations? Is venv and poetry the only options? Are there any rust based venv tools (not rustenv, but a pipenv equivalent written in rust)

Thank you.
Reply
#2
I don't think there is a consensus on one environment manager, and there are a lot out there. For your last question, huak is a rust based environment manager, as is Hygeia which aims at managing the interpreters and is cross platform. Venv is likely the most popular, some love conda, virtualenv, pyenv, etc.
Reply
#3
(Jun-04-2023, 11:41 AM)jefsummers Wrote: I don't think there is a consensus on one environment manager, and there are a lot out there. For your last question, huak is a rust based environment manager, as is Hygeia which aims at managing the interpreters and is cross platform. Venv is likely the most popular, some love conda, virtualenv, pyenv, etc.

Thanks for those, ill check them both out.
Jetbrains ought to include "What package manager and what virtual env if any do you use?" in their surveys next time :D
Reply
#4
(Jun-04-2023, 06:55 AM)LandonJPGinn Wrote: Any recommendations? Is venv and poetry the only options? Are there any rust based venv tools (not rustenv, but a pipenv equivalent written in rust)
Rye look promising.
I have tested it out and really like decision that Armin Ronacher has made.
Look at Philosophy and Vision.
Quote:
  • No System Python: I can't deal with any more linux distribution weird Python installations or whatever mess there is on macOS.
    I used to build my own Pythons that are the same everywhere, now I use indygreg's Python builds.
    Rye will automatically download and manage Python builds from there.
    No compiling, no divergence.

  • No Default Dependencies: the virtualenvs when they come up are completely void of dependencies.
    Not even pip or setuptools are installed into it. Rye manages the virtualenv from outside the virtualenv.

  • Project Local Shims: Rye maintains a python shim that auto discovers the current pyproject.toml and automatically operates below it.
    Just add the shims to your shell and you can run python and it will automatically always operate in the right project.

For small stuff i just use venv as is build into Python.
Poetry is the ok,and if want to make package distribute to PyPi it dos a lot of the ground work for you.

For larger stuff like eg ML,AI stuff that can install i have seens up to 100 packages(should not try to install that on default OS Python).
Then is Conda is good and use it trough Miniconda.
So Conda can build a environment with complete Python/pip version,as eg Rye do.
So eg this command will install complete Python 3.10.8 with pip and othert stuff like eg Editor(Spyder) and Jupyterlab to own environment.
conda create --name myenv conda jupyterlab pandas spyder python=3.10.8
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  [split] Pipenv mohammadasadi4 0 309 Jan-15-2024, 10:35 AM
Last Post: mohammadasadi4
  Libraries installed with pipenv, but ModuleNotFoundError returned jpncsu 2 3,028 Sep-06-2021, 07:24 PM
Last Post: jpncsu
  setting up pipenv tobiasfw 1 2,028 Jan-13-2021, 05:46 PM
Last Post: buran
  Managing dependencies with pipenv t4keheart 6 2,960 Aug-05-2020, 12:39 AM
Last Post: t4keheart
  pipenv install command getting errors on WSL/Ubuntu sheridanrea 0 3,181 Sep-14-2018, 06:40 AM
Last Post: sheridanrea

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020