Giter Site home page Giter Site logo

sample-python's Introduction

Try Out Daytona

Open in Daytona

Things to try

Once you have this sample opened, you'll be able to work with it like you would locally.

Some things to try:

  1. Edit:

    • Open app.py
    • Try adding some code and check out the language features.
    • Make a spelling mistake and notice it is detected. The Code Spell Checker extension was automatically installed because it is referenced in .devcontainer/devcontainer.json.
    • Also notice that utilities like pylint and the Python extension are installed.
  2. Terminal:

    • Press ctrl+shift+` to open a terminal window.

    • Type python -m flask run --port 5000 --no-debugger --no-reload to run the app.

      • The terminal will say your app is Running on http://127.0.0.1:5000/. Click on the link in the terminal to view your app running in the browser.
    • Notice that the Python extension is already installed in the container since the .devcontainer/devcontainer.json lists "ms-python.python" as an extension to install automatically when the container is created.

      Tip: If you use this container outside of VS Code via docker run with -p 5000, you may need to append --host 0.0.0.0 to the command above. The -p option "publishes" the port rather than forwarding it. It therefore will not work if the application only listens to localhost. The forwardPorts property in devcontainer.json does not have this limitation, but you can use appPort property instead if you want to mirror the docker run behavior.

  3. Build, Run, and Debug:

    • Open app.py
    • Add a breakpoint (e.g. on line 9).
    • Press F5 to launch the app in the container.
    • Once the breakpoint is hit, try hovering over variables (e.g. the app variable on line 7), examining locals, and more.
    • Continue (F5). You can connect to the server in the container by either:
      • Clicking on Open in Browser in the notification telling you: Your service running on port 5000 is available.
      • Clicking the globe icon in the 'Ports' view. The 'Ports' view gives you an organized table of your forwarded ports, and you can access it with the command Ports: Focus on Ports View.
    • Notice port 5000 in the 'Ports' view is labeled "Hello Remote World." In devcontainer.json, you can set "portsAttributes", such as a label for your forwarded ports and the action to be taken when the port is autoforwarded.
  4. Rebuild or update your container

    You may want to make changes to your container, such as installing a different version of a software or forwarding a new port. You'll rebuild your container for your changes to take effect.

    Open browser automatically: As an example change, let's update the portsAttributes in the .devcontainer/devcontainer.json file to open a browser when our port is automatically forwarded.

    • Open the .devcontainer/devcontainer.json file.
    • Modify the "onAutoForward" attribute in your portsAttributes from "notify" to "openBrowser".
    • Press F1 and select the Dev Containers: Rebuild Container.
  5. Install Node.js using a Dev Container Feature:

    • Press F1 and select the Dev Containers: Configure Container Features... or Codespaces: Configure Container Features... command.
    • Type "node" in the text box at the top.
    • Check the check box next to "Node.js (via nvm) and yarn" (published by devcontainers)
    • Click OK
    • Press F1 and select the Dev Containers: Rebuild Container.

sample-python's People

Contributors

metcalfc avatar

Stargazers

Zhao Xiaohong avatar

Watchers

Nikola Balic avatar Goran Draganić avatar Vedran Jukic avatar Kostas Georgiou avatar  avatar

Forkers

nephoseu

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.