• dotmatrix@lemmy.ftp.rip
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 year ago

    Honestly, at this point I’m running all my python environments in different docker containers. Much easier to maintain.

      • henfredemars@infosec.pub
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        I wish I could do that, but my employer switches me around so much that I’d be out of disk space in no time.

      • Mikina@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        How does the workflow works in practice? You just use the containers to compile your code, or do you actually have a whole dev environment with IDE and everything and work directly in the container? I can’t imagine how does the workflow looks. Or is it possible to set up i.e. a JetBrains Rider to always spin up a container to compile the code in it? But then, if all the requirements and libraries are only on the container, how would it be able to do syntax highlithing and Intelisense (or what’s the correct work for code completion), if it doesn’t have the libraries on the host?

        I’m probably missing something, but all the solutions I can figure out with my limited experience have issues - working on IDE in a VM sounds like a nightmare with moving files between VM and host, and the whole “spin up a VM, which takes time and it usually runs slower on the shitty company laptop, just to make a quick edit in one project”. And I feel like setting up an IDE to use environment that’s in a VM, but the IDE runs on a host sounds like a lot of work with linking and mounting folders. But maybe the IDEs do support it and it’s actually easy and automated? If that’s the case, then I’ll definitely check it out!

        • freo3579@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 year ago

          Check out dev container in VSCode. Even better with Codespaces from Github. You can define the entire environment in code, including extensions, settings, and startup scripts along with a Docker container. Then it’s just one button click and 5 min wait until it’s built and running. Once you have built it you can start it up and suspend it in seconds, toss it out when you don’t need it, or spin up multiple at once and work on multiple branches simultaneously.

          • Mikina@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            Hmm, I wonder if this would be applicable for game development, which is my main field of work. But I do some projects here and there that don’t require an actual engine, so I’ll definitely check it out! It does sound pretty easy to set up. Thank you.

        • Drew Belloc@programming.dev
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          Part of that was a joke, but i do sometimes use a windows vm when i am working with a windows build, só i just have the vm openned on my second monitor and emacs open on my main machine, than i ssh within emacs into the vm and build and debug the code there, this way i don’t need a whole dev enviroment, just git and the build tools

    • Dr. Wesker@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      I’ve been trying to sell this idea to my team for a year now. I’ve even done all the legwork in my free time with a personal project and I’ve offered the patterns to the team. But alas, we still commit to masochism.

      • Puzzle_Sluts_4Ever@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        Hashicorp have serious support issues, but I strongly suggest encouraging people to use Vagrant.

        Explaining to old hats the value of doing development in a container is a hassle because “it is a different workflow”. But Vagrant makes spinning up a new container/environment almost trivial. While still giving you all the benefits of a sandbox you can piss in and then throw away.

        And really solid VSCode integration

    • Jason Novinger@programming.devOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Agreed! That’s the way we do work projects. For personal stuff, I also like using pyenv. But yeah, that’s it, keep it nice and simple.