DEV Community

Discussion on: Do you use Docker or Virtualenv for Python?

Collapse
 
shostarsson profile image
Rémi Lavedrine

If the goal is only to play your software against a specific version of Python, I am using pyenv.
I found it very easy to set up and to run.

As soon as Python is on my machine, I am installing pyenv.

If you look for something similar for java (I had to some time ago and that was kind of hard to find 😄), you can use jenv (see below).

GitHub logo pyenv / pyenv

Simple Python version management

Simple Python Version Management: pyenv

Join the chat at https://gitter.im/yyuu/pyenv

Build Status

pyenv lets you easily switch between multiple versions of Python. It's simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.

This project was forked from rbenv and ruby-build, and modified for Python.

Terminal output example

pyenv does...

  • Let you change the global Python version on a per-user basis.
  • Provide support for per-project Python versions.
  • Allow you to override the Python version with an environment variable.
  • Search commands from multiple versions of Python at a time This may be helpful to test across Python versions with tox.

In contrast with pythonbrew and pythonz, pyenv does not...

  • Depend on Python itself. pyenv was made from pure shell scripts There is no bootstrap problem of Python.
  • Need to be loaded into your shell. Instead, pyenv's shim approach works by adding a directory to your $PATH.
  • Manage virtualenv. Of course, you…

and

GitHub logo jenv / jenv

Manage your Java environment

Master your Java Environment with jenv

Website : jenv.be

Maintainers :

Future maintainer in discussion:

As he makes an incredible work by taking time to merge the Pull Request on his fork, I (@gcuisinier) am in discussion with him to take part of jEnv directly if he wants Whatever his decision, I thank him for his work, and to have convincing me to think about the future of jEnv and accepting a new maintainer for the good of the project.

What's jEnv ?

This is an updated fork of jenv, a beloved Java environment manager adapted from rbenv.

jenv gives you a few critical affordances for using java on development machines:

  • It lets you switch between java versions. This is useful when developing Android applications, which generally require Java 8 for its tools, versus server applications, which use later versions like Java 11.
  • It…
Collapse
 
rosejcday profile image
Rose Day

Oh cool! Thank you so much for sharing!