Skip to content

Test that Hatch environments are discovered and activated #23088

Closed

Description

Refs: #22810

Complexity: 4

Authors: Philipp A. (@flying-sheep), Kartik Raj (@karrtikr)

Create Issue


  1. Install Hatch
    • using the GUI installers on macOS or windows

    • using your system package manager on Arch Linux or Fedora

    • using pipx install Hatch on other Linux distributions. Please make sure you set your PATH correctly in this case.

      Setting PATH on Linux

      If you cannot install Hatch system-wide, you might need to add $HOME/.local/bin to your PATH environment variable for your graphical session, not just your terminal. Check like this:

      $ pgrep bin/code  # or some other graphical application
      1234
      $ cat /proc/1234/environ | tr '\0' '\n' | grep -E '^PATH='
      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

      If the the directory is not in there, you need to add it in your session startup script, in a way that depends on your desktop environment:

  2. In an empty VS Code project, add two files:
    1. testproj.py containing
      import session_info
      
      session_info.show()
    2. … and a pyproject.toml specifying dependencies:
      [project]
      name = "testproj"
      version = "0.1.0"
      dependencies = ["session-info"]
      
      [build-system]
      requires = ["hatchling"]
      build-backend = "hatchling.build"
  3. Make Hatch install the project and its dependencies to an environment using hatch run ..., e.g. hatch run python -V (there is no configuration necessary for Hatch to work in a simple case like this)
  4. Select the testproj as an interpreter using Python: Select Interpreter command
    image
  5. Run it using the play icon on top right
    image
  6. The file is successfully run and prints the session info:
    grafik
  7. Open a new terminal: If you have the python.terminal.activateEnvironment setting set to true, the environment should be activated:
    Run pip -V and compare if the path starts with the path displayed by hatch env find (pip’s contains an additional lib/pythonX.YZ/site-packages/pip)

Activity

  1. changed the title [-][testplan-item] Test that Hatch environments are discovered and activated[/-] [+]Test that Hatch environments are discovered and activated[/+] on Mar 18, 2024
  2. karthiknadig commented on Mar 25, 2024

    @karthiknadig
    Member

    Ofek Lev (@ofek) Philipp A. (@flying-sheep) You might need to report the MSI as safe:
    image

    Another issue is that the publisher on the MSI is unknown, it is getting blocked by defender. You might need a code signing certificate for this.

  3. removed their assignment
    on Mar 25, 2024
  4. flying-sheep commented on Mar 26, 2024

    @flying-sheep
    Author

    Ofek Lev (@ofek) is the maintainer of both Hatch and PyApp (the framework to create the Hatch installer), and AFAIK also using Windows, so he’d need to sign it.

    I personally don’t have access to any Windows machine and am therefore blissfully unaware of all the hoops Microsoft makes poor developers jump through to distribute their applications in a way that doesn’t scare users off 😄

  5. ofek commented on Mar 26, 2024

    @ofek

    The installers are currently created with PyOxidizer but I only have a certificate from the PSF for macOS. I'll ask about Windows today, it hasn't been a high priority.

  6. locked as resolved and limited conversation to collaborators on Apr 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions