From 939a37a28a1a110e217a5ce5799561b1719b8571 Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Tue, 13 Apr 2021 15:05:04 +0100 Subject: [PATCH] Add virtualenvs post --- .../2021-04-13-virtualenvs/images/feature.jpg | Bin 0 -> 102693 bytes .../images/virtualenv.png | Bin 0 -> 22086 bytes .../2021/04/2021-04-13-virtualenvs/index.md | 167 ++++++++++++++++++ 3 files changed, 167 insertions(+) create mode 100644 brainsteam/content/posts/2021/04/2021-04-13-virtualenvs/images/feature.jpg create mode 100644 brainsteam/content/posts/2021/04/2021-04-13-virtualenvs/images/virtualenv.png create mode 100644 brainsteam/content/posts/2021/04/2021-04-13-virtualenvs/index.md diff --git a/brainsteam/content/posts/2021/04/2021-04-13-virtualenvs/images/feature.jpg b/brainsteam/content/posts/2021/04/2021-04-13-virtualenvs/images/feature.jpg new file mode 100644 index 0000000000000000000000000000000000000000..af8e80e1abf75fc65239909d2ad15c9664a61075 GIT binary patch literal 102693 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

M|&u*-0Y6NZ@3r<4IL^HYcU% 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 IVD&%$*%i$Py#N3J literal 0 HcmV?d00001 diff --git a/brainsteam/content/posts/2021/04/2021-04-13-virtualenvs/images/virtualenv.png b/brainsteam/content/posts/2021/04/2021-04-13-virtualenvs/images/virtualenv.png new file mode 100644 index 0000000000000000000000000000000000000000..3db184fbba2e16f9adbc3241f43853705597561e GIT binary patch literal 22086 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 T{VTj57BSK{*UQ#*Irx78oVDQp literal 0 HcmV?d00001 diff --git a/brainsteam/content/posts/2021/04/2021-04-13-virtualenvs/index.md b/brainsteam/content/posts/2021/04/2021-04-13-virtualenvs/index.md new file mode 100644 index 0000000..f606b57 --- /dev/null +++ b/brainsteam/content/posts/2021/04/2021-04-13-virtualenvs/index.md @@ -0,0 +1,167 @@ +--- +title: An opinionated guide to Python environments in 2021 +author: James +type: post +resources: + - name: feature + src: images/feature.jpg +date: 2021-04-12T20:21:11+00:00 +url: /2021/04/01/running-old-pytorch-docker/ +description: A fairly thorough explanation and exploration of python package and environment managers as of April 2021 with some opinionated setups proposed for different user types at the end. +categories: + - Work + - Open Source +tags: + - python + - devops + +--- +{{

}} + + +### Note: If you don't want to read the blah-blah context and history stuff then you can [jump to the recommendations](#recommended-setups-for-various-use-cases) + +## The Problem + +The need for virtual python environments becomes fairly obvious early in most Python developers' careers when they switch between two projects and realise that they have incompatible dependences (e.g. project1 needs `scikit-learn-0.21` and project2 needs `scikit-learn-0.24`). Unlike other mainstream languages like Javascript(Node.js) and Java (with Maven) where dependencies are stored locally to the project, Python dependencies are installed at system or environment level and affect all projects that are using the same environment. + +When you run into this problem - you have two choices: you can either play around with the libraries you have installed and risk breaking things for one of your projects and not being able to get it back or you search "python incompatible dependencies install both?" with a hopeful glimmer in your eye as you hit enter. + +## Virtual Environments and Package Managers + +Virtual environments are the community approved way to manage this issue and likely the first hit you'll get with the above search in your favourite search engine. + +There are two related but distinct activities that we need to manage here: + +1. If I'm working on different projects, I want to be able to quickly switch between them and their supporting Python runtime environments without breaking my setup for other projects. This is what an environment manager does. +2. I want to be able to quickly and easily install new Python libraries without worrying about their inter-dependencies. Furthermore, I'd like to be able to package up my project's list of dependencies so that others can quickly and easily use my code. This is what a package manager does. + +There are lots of options available to you for both tasks and some tools try to solve both of them for you. Unfortunately this means that there are a large number, partially compatible standards. + +## Virtual Environments: What are they? + +A virtual environment is a copy of a Python interpreter, bundled away into a folder with project-specific libraries and dependencies. This allows you to keep your project runtimes logically separated and avoids inter-project dependency conflicts. + +![virtualenv.png](:./images/virtualenv.png) + +Simply: when you install a library into a virtual environment the files are literally in a separate folder to the dependencies of your other projects. Beautiful simplicity. + +So then, how do we manage which libraries are installed in the environment and make sure that they are compatible with each other and the software that we're writing/using? + + +## pip: The Original Python Package Manager + +`pip` is the official [Python Python Packaging Authority](https://www.pypa.io/en/latest/index.html) package management tool. It's been a recognisable part of a Python developer's arsenal for at least the last 10 years and became part of the standard Python library as of v3.4 +in 2014 (although most operating systems distributed it as standard long before then or if not a very easily installable extra). + +Whilst it's the official option, `pip` is very bare bones. It doesn't know or care which environment it is being run in so you have to make sure that you take care of that by using tools like [venv](https://docs.python.org/3/library/venv.html) or [virtualenv](https://virtualenv.pypa.io/en/latest/). Furthermore `pip` doesn't store its list of dependencies in a file by default (you have to manually call `pip freeze > requirements.txt` to store your pip environment state in a text file every time you install or uninstall stuff) so this is yet another overhead. + +Another potential problem with pip is its [lack of deterministic builds](https://github.com/pypa/pip/issues/5102) - simply put: if you don't explicitely ask `pip` to install a particular version of a package or one of that package's dependencies it will download the *latest* version of that package. That means that there might be a bug introduced because a dependency-of-a-dependency that I installed on my system last month is a different version to the same package for someone who just installed my software today. What a headache! + +None of this is particularly ideal - **more manual steps = more stuff you can forget about** + +## Pipenv: Environment + Package Management Swiss Army Knife + +[pipenv](https://pipenv.pypa.io/en/latest/) is a tool that tries to solve many of the shortcomings of pip above: + + * pipenv generates a `Pipfile` in your project which is conceptually similar to a [Package.json](https://nodejs.dev/learn/the-package-json-guide) file in Node.js land. That is, a manifest at the top level of your project that describes which dependencies and Python version it requires. This file is maintained as you add/remove packages (no more manual `pip freeze` steps) + * Pipenv also maintains a `Pipfile.lock` file - this is a machine readable list of all of your dependencies and subdependencies allowing Pipenv to handle deterministic builds and avoid confusing dependency issues. + * Pipenv will transparently take care of your virtualenv management for you. You can run your commands as normal but prefixed with `pipenv run` and the library will make sure you're using the environment associated with whatever project you're trying to use. + +Many people stopped using pipenv when they believed the project to have been abandoned in 2019. However, it turns out pipenv is still under active development. As of writing the most recent release was [v2020.11.15](https://github.com/pypa/pipenv/releases/tag/v2020.11.15). + +## pypoetry: A Challenger Environment + Package Management Option + +[Poetry](https://python-poetry.org/) is yet another all-in-one virtualenv and package manager which offers similar functionality to `pipenv`. It gained a lot of users during the pipenv project hiatus mentioned above and has [similar performance and functionality](https://dev.to/frostming/a-review-pipenv-vs-poetry-vs-pdm-39b4). + +The main reason I prefer poetry over pipenv today is its ability to generate "standard" Python packages (wheels, source distributions) that are fully Pypa compliant natively (you can do this with `pipenv` but it requires manual maintainence of [setup.py and requirements.txt](https://greut.medium.com/building-a-python-package-a-docker-image-using-pipenv-233d8793b6cc) files which is another moving part that could go wrong in a big project). + +Pypoetry also stores its project information in a [PEP-621](https://www.python.org/dev/peps/pep-0621/#abstract) compatible `pyproject.toml` format, providing core metadata compatibility with other dependency management tools and indeed PyPA's own [setuptools](https://github.com/pypa/setuptools/issues/1688) toolkit. + +## Where do [Mini/Ana]conda Fit Into All of This? + +[Anaconda](https://docs.continuum.io/anaconda/install/) and its slimmed down cousin [Miniconda](https://docs.conda.io/projects/continuumio-conda/en/latest/user-guide/install/download.html) are alternatives to the standard CPython/PyPA python distribution distributed by Continuum Analytics. Both environments use the [conda](https://docs.conda.io/projects/continuumio-conda/en/latest/index.html#) package + venv management tool. + +Conda is open source but not directly compatible with PyPa packages. However, almost every package you can think of is available on [conda-forge](https://conda-forge.org/) - a community driven conda-compatible package repository. Furthermore, if something is missing from conda you can run `pip` inside your conda virtual environment and get it the normal way from PyPa. + +### What About Deterministic Builds and Distributing Software Using Conda? + +Well, conda environments and requirements can be stored in an [environment.yml](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) and the file format allows you to specify both packages installed via conda and pip. Furthermore, using the `conda env export` command to generate an `environment.yml` file dumps all of the packages installed in your current environment including their version information for deterministic recreation. Happy days! + +### But Wait, There's More! + +One feature of conda that is both controversial and convenient - the latter especially if you're a data scientist - is it's management of system libraries and dependencies beyond Python. Conda can install C libraries that your Python packages depend on for you - including Nvidia's CUDA runtime libraries needed for tensorflow and torch. + +If you've ever had the pleasure of trying to manually configure Nvidia drivers and CUDA runtime libraries on Linux you'll know how much of a pain this is. Even with pip/virtualenv environments, torch and tensorflow will try to link against and load whichever version of CUDA is installed system wide and that means that switching between versions of these libraries for different projects could mean messing with which system libraries are installed. Assuming you even have permission to do that (you might be on a shared GPU cluster), we're back at square one with tightly coupled inter-project dependencies - the very problem that virtualenv is supposed to fix for us but can't because of the dependency on cuda. As usual there are of course [manual workarounds](https://towardsdatascience.com/installing-multiple-cuda-cudnn-versions-in-ubuntu-fcb6aa5194e2) but to me this is another moving part that could fail or go wrong - especially in a team environment. + + + +As for the controversy? Well purists don't tend to like the fact that `conda` also messes with system libraries - even if those libraries, like with pip/virtualenv based environments are copies isolated in folders. + +### If Conda is So Good Why Don't You Marry It? + +Conda is great but it has its downsides too: + + * It's incompatibility with the pip/pypa universe requires extra faff when building pip-compatible software (or you can accept that your software is doomed to only be run by conda-users) + * `environment.yml` files can be **too** deterministic and this is exacerbated by the system libraries issue. If I generate an `environment.yml` file on my Linux desktop and create a conda environment from it on my Mac it will usually fail because the linux libraries are not compatible with the mac libraries. + * Running conda inside docker environments is a bit weird and again controversial some might argue since you always have permission to install whichever libraries you need inside a container and there shouldn't be any use cases where you'd need two conflicting environments/libraries inside a container. [Again, it's perfectly possible](https://pythonspeed.com/articles/activate-conda-dockerfile/) but in my opinion, another weak link. + +## Best of Both Worlds: Conda + Pip-based Package Managers + +Both [poetry](https://python-poetry.org/docs/managing-environments/) and [pipenv](https://pipenv.pypa.io/en/latest/advanced/#pipenv-and-other-python-distributions) can be used in combination with other virtual environment managers. + +This, in my opinion, offers the best of both worlds: we can take the speed and ease-of-use of conda and team it up with the flexibility and compatibility offered by these pip-based package management offerings. + +To use pipenv or poetry inside a conda-based environment you can simply activate the environment you want to use and then run `pip install poetry` or `pip install pipenv` - the tool of your choice will then be available for use whenever you have that environment active in the future. + + +# Recommended Setups for Various Use Cases + +## Some Principles for Use With The Recommendations Below + + * **K.I.S.S** Keep it simple stupid - these suggestions get more complicated for more nuanced use cases. My general philosophy, as mentioned earlier in the post is to minimise moving parts so I definitely don't think everyone should be maintaining a `pyproject.toml`, a `requirements.txt` file, an `environment.yml` file for Windows usesrs and an `environment.yml` file for Linux users. You know your use case and you can judge for yourself what is appropriate. + * **If I say *or* then it's up to you**. Pick one and be consistent. Quite a lot of the time `poetry` and `pipenv` offer very similar feature sets and which one you want to use is just a personal preference. They're not directly compatible though so if you pick `poetry` and your colleague picks `pipenv` you're going to have a bad time. + +## I'm new to Python (Mac, Windows or Linux) + +Firstly, if you're ***really really*** new to Python you might want to consider just getting familiar with the language without having to deal with virtual environments - most modern Linux distributions have Python 3.x pre-installed and if you're on mac you can get it trivially if you use [brew](https://brew.sh/). That said, virtualenvs are likely to be something that you'll need sooner rather than later once you get into intermediate Python development so it might be better to dive in sooner rather than later. + +- **If you're new to Python and you're running Mac, Windows or Linux** you might find [Anaconda](https://docs.anaconda.com/anaconda/install/index.html) to be the most intuitive, lowest barrier to entry option for getting started. +- **If you're on Windows**, Conda-based distributions definitely represent the lowest barrier to entry since you don't have to worry about setting up compilers and libraries. That said, if you are running [WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10) you probably already have Python 3 installed and can make use of some [excellent existing resources](https://towardsdatascience.com/python-and-the-wsl-597fbe05659f). +- **If you're new to deep learning**, again conda-based distributions are probably the lowest barrier to entry since conda can handle installing CUDA and dependencies for you. + +## I'm an experienced Python developer and noone else needs to run my code + +My suggestions assume that even though you're not planning to share your code with others, you're still interested in version controlling it and your dependencies in case your laptop breaks/gets stolen/spontaneously combusts and you need to re-create your project. + +- **If you're on Linux or Mac and you don't need CUDA** then, assuming you have root permissions you'll probably find that `pipenv` or `poetry` work well for you. I'm not suggesting conda as a first stop since most of the time Python 3.X is already available in modern *Nix environments so you might not need to install anything (except your chosen package manager via `pip`). +- **If you're on Linux or Mac and you need CUDA** then `conda` is likely the lowest barrier to entry. If you've never done it, try installing and using Tensorflow/PyTorch without conda once - for academic/edification. Then you'll be able to feel the benefit. +- **If you're working on Windows outside of WSL** my default suggestion would still be conda due to its management of compiler toolchains and external libraries. If you're on windows inside WSL then see above for Linux/Mac. + +## I'm writing private/proprietary Python code that friends/colleagues need to use + + * **If you all run the same OS** (for example you're all on the same analytics team in an organisation that uses Windows 10 company-wide) then K.I.S.S and use conda. If everyone is using the same OS you can probably safely mix `conda install` and `pip install` commands and version control your `environment.yml` file without worrying about cross-platform compatibility issues. + * **If you are writing code that needs to work cross-platform but you don't need CUDA** (e.g. you run MacOS, your colleage runs Linux) then use `pipenv` or `poetry`. This will allow you to provide cross-platform deterministic builds/dependency resolution. Keep the `pyproject.toml` or `Pipfile` and respective lock files version controlled. If you or one of your colleagues runs Windows, they might find that the easiest way to interact with you is to install anaconda and then run `pipenv` or `poetry` inside a conda-managed environment. +* **If you are writing code that needs to work cross-platform and uses CUDA** (e.g. you're building a PyTorch model on Linux and your friend wants to run it on Windows) then you're probably going to want to use `conda` to manage the environment (i.e. pull in specific versions of cuda runtime libraries) and `poetry` or `pipenv` to manage pythonic dependencies. You could version control a hand written `environment.yml` with the specific versions of the cuda runtime that your model is expecting (but without OS-specific build tags) and you will definitely want to version control your `pyproject.toml` and `Pipfile` as above. Alternatively, document the `conda install` commands the user should run in the project readme. +* **If you are writing code that you need to package as a wheel or egg for others to use** (e.g. it's a proprietary Python package you ship to customers) then I refer you to the section below but leveraging [poetry publish](https://python-poetry.org/docs/cli/#publish) `--repository` option to specify a private PIP repository. + + +## I'm writing Python code that I want to share with the community + + +* **If you don't need CUDA** then my suggestion would be standalone `poetry` since it has build/distribution tools built in and you can produce wheels and source distributions from the commandline and submit them to [pypi](https://pypi.org/). Version control your `pyproject.toml` and `poetry.lock` files. +* **If you need CUDA** then my suggestion is to use conda to create and manage your virtual environment and install cuda and then use `poetry` to manage packages and PyPi build (or use standalone `poetry` and manually manage your cuda libraries - you masochist you!). You might want to version control your `environment.yml` but this file won't be needed for building or uploading your package to PyPi - it's just for you (and other developers) to use to quickly spin up your project locally in a development context. +* **If you want your package to be available in conda** then you'll need to use [conda-build](https://conda.io/projects/conda-build/en/latest/user-guide/tutorials/build-pkgs-skeleton.html) to generate conda-specific package files and metadata for your project. + + + +# PEP-582, PDM and the Future of Python Dependencies? + +Without wishing to confuse matters further, I wanted to give [PEP-582](https://www.python.org/dev/peps/pep-0582/) an honourable mention. + +This is a Python Enhancement Proposal that will allow the python runtime to support `npm`-esque loading of dependencies from a file in the project directory (like `node_modules`). There is already a package manager [PDM](https://pdm.fming.dev/) in development for working with local directories + + +This is an interesting and exciting paradigm shift that should simplify python packaging and remove the need completely for virtual environments. However, there are many issues to solve and the proposal is only for Python 3.8 with no plans to backport the functionality to earlier versions of the language runtime. + +Given how long it's taken some users to make the jump from Python 2.X to Python 3.X, it is likely that virtual environments are going to be around for a few more years to come. \ No newline at end of file