Hacker News new | ask | show | jobs
by matsemann 1539 days ago
Same. Getting a python environment up and running can be a multi-day endeavor if you're unlucky. Just using docker compose on the existing Dockerfile for the project and mounting the local filesystem, means everything just works. PyCharm now works nicely with a remote interpreter inside docker compose.

I've even tried doing that with all the devtools we have. Like normally a developer here has to install gcloud, terraform, kubectl, apt-get lots of stuff, and then 3-4 internal tools. Then configure all of it, and of course some stuff will just not work on someone's computer. But creating a docker image including all that means that I can grab a new computer and be up and running in minutes.

2 comments

Hijacking this: does anyone know how to get vscode to use a python interpreter inside a docker container for linting? I’ve resorted to using the docker container, but also having a python env so that I can tell vscode to point to the python interpreter in the env to get linting. Otherwise, dependencies come up unresolved.

I did some googling, but I’m unfortunately not experienced enough to be able to describe the problem succinctly to google.

Using pylance, btw.

TIA!

Have you tried VSCode's remote abilities? Should do exactly as you describe. https://code.visualstudio.com/docs/remote/remote-overview or https://devblogs.microsoft.com/python/remote-python-developm...
I’ve seen these and got it to work this way. I’m not too fond of working inside the container as it’s just a little more friction, but I’ve been working this way for a little bit now. I was hoping to avoid working in the container.
Try this: 1. Bring up command palette using `Ctrl+Shift+p` 2. Search and select "Python: Select Interpreter" 3. Select your Python environment.

This works in VSCode over SSH perfectly fine - the locally running VSCode is able to detect and select Python environments in the remote server.

The trouble with this is that the python environment is in the container - In step 2, id need to type path to the interpreter that it inside the container.

Although, now you’ve got me thinking what would happen if I mounted the interpreter inside the container to something local that I can point to? Might try this later, thanks for the help!

I regularly use asdf-vm to manage kubectl, python, nodejs, and a bunch of other stuff.

"Setting up a Python environment" takes about 10 minutes and it's dead nuts reliable.

It is a very effective package manager.